1. 程式人生 > 其它 >C#常見控制元件與SQL Sever資料庫互動

C#常見控制元件與SQL Sever資料庫互動

C#常見控制元件與SQL Sever資料庫互動

 

下拉框(ComboBox)與資料庫繫結

首先,我們採用DataSet作為臨時的資料庫,這樣會比較好

那麼,我們先建立兩個成員(物件)

string sqlcon = "Data Source=DESKTOP-TF1OFLN;Initial Catalog=Demo;Integrated Security=True";
DataSet ds = new DataSet();

這裡,我們先用一個string儲存資料庫的連線字串,然後建立一個DataSet物件,這樣我們可以直接讓ComboBox與DataSet這個臨時資料庫繫結。

然後,我們拖一個ComboBox控制元件,我這裡名字就預設算了。

在繫結資料之前,我們肯定是要將我們資料庫的表填充到DataSet裡面的,所以我們需要一個介面,連線好資料庫

SqlConnection con = new SqlConnection(sqlcon);
string sql = "SELECT * FROM Demo";

第一句用於開啟與資料庫的連線,括號內是我們上面的連結字串。

第二句是我們的sql查詢語句,我查詢Demo表裡面的所有內容。

 

好了,準備工作完成了,我們直接開始將資料新增到DataSet中。

SqlDataAdapter da = new SqlDataAdapter(sql,con);
da.Fill(ds,"Demo");

我們建立一個DataAdapter物件,括號內第一個是我們上面的sql語句,第二個con是我們上面的資料庫連線介面。

然後我們用這個物件(我這叫da)直接.Fill將資料新增到DataSet,括號內分別是DataSet物件名和我們的DataSet中的表名。

之後,我們直接點出控制元件繫結資料

this.comboBox1.DataSource = ds.Tables["Demo"];
this.comboBox1.ValueMember = "Name";

不細說,很簡單,下面那個ValueMember是繫結你資料庫的欄位名

 

最後貼個圖,所有程式碼就這樣

 

DataGridView控制元件繫結資料庫源

我們經常會使用表格輸出資料庫內容,那就肯定少不了DataGridView

開頭還是和之前一樣,就不多說了

string sqlcon = "Data Source=DESKTOP-TF1OFLN;Initial Catalog=Demo;Integrated Security=True";
DataSet ds = new DataSet();

然後,資料新增到臨時資料庫也一樣,我也不多說了

SqlConnection con = new SqlConnection(sqlcon);
string sql = "SELECT * FROM Demo";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
da.Fill(ds, "Demo");

意思和上面是一模一樣的!

然後,我們為DataGridView控制元件繫結一下資料來源,直接將屬性點出來

ataGridView1.DataSource = ds.Tables["Demo"];

這樣,我們就直接將控制元件的資料來源繫結好了,但是注意,重點來了!

注意

我們還需要在DataGridView的控制元件那給他新增項,你想輸出幾個資料庫欄位就新增幾個項,每個項需要你自己去給每個列設定資料欄位。

也就是說,我箭頭指的這個地方需要填寫你資料庫欄位的名字,我的資料庫第一列叫Demo,我想輸出第一列,就直接填了Demo,我綁定了三列,效果如下。

貼個程式碼全圖

 

ListView控制元件繫結資料庫源

在此省略資料庫欄位,建立資料庫連線介面部分內容,因為和上面一樣

但是,不同的是,我這裡沒有使用DataSet資料庫

直接使用SqlCommand物件來操作源資料庫

首先,我們先看我這串框架

    try
          {
               con.Open();
               SqlCommand cmd = new SqlCommand(sql, con);
          }catch (Exception ex)
          {
               MessageBox.Show(ex.Message);
          }
           finally
          {
               con.Close();
          }

這裡我已經省略了建立連線介面SqlConnection con = new SqlConnection(sqlcon);

因為沒有使用DataSet,所以我需要使用連線介面來開啟資料庫,我們直接con.Open()

然後就是我們的Command物件,我們直接new一個,並且在最後的括號內填上sql語句字串和介面(con)

SqlCommand cmd = new SqlCommand(sql, con);

我們看這張圖

看右側箭頭的位置,我們編輯列,注意,是列,因為資料庫資料輸出也是一列一列的!

然後我們在左側設定裡面新增成員,要輸出多少列資料就新增多少列!

 

你給每一列定義一個名字,參考下圖

新增完後,你要想讓他一列一列顯示還需要修改如下屬性

然後,哎,這個控制元件一般不用來做表格和資料輸出,我就直接貼個程式碼吧,有興趣去了解,沒興趣直接CV,然後改改空間名就基本可以用。

public partial class Form1 : Form
{
string sqlcon = "Data Source=DESKTOP-TF1OFLN;Initial Catalog=Demo;Integrated Security=True";
//DataSet ds = new DataSet();
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(sqlcon);
string sql = "SELECT ID,Demo,Names FROM Demo";

try
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
//將每行資料輸入顯示在lvShow控制元件裡面
//ListViewItem物件
ListViewItem item = new ListViewItem(dr["Demo"].ToString());
//新增子項
item.SubItems.Add(dr[0].ToString());
item.SubItems.Add(dr[2].ToString());
//item.SubItems.Add(dr[3].ToString());

//將所有準備好的項新增到控制元件中
this.listView1.Items.Add(item);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}

好了,就到這吧!