天天看點

C#連接配接sqlserver資料庫和資料綁定DataGridView控件

标題 c#中連接配接sqlserver資料庫

一開始寫資料庫連接配接時候很懵,怕忘了寫在部落格上面,發現這個需要耐心去看,不要覺得自己看不懂,看完了其實很簡單,b站上面蠻多的視訊

建立連接配接

連接配接資料庫首先要建立連接配接,連接配接字元串這裡分為兩種:一種是windows身份認證,一種是sqlserver身份認證即需要密碼,賬号

windows身份認證字元串:

Data Source=(local);Initial Catalog=資料庫名稱;Integrated Security=True
           

Data Source表示設定需連接配接資料庫伺服器的名稱,local表示的是本機,如果不是本機則可以用IP位址或伺服器名稱

sqlserver身份認證:

接下來就開始連接配接資料庫并操作sql語句,判斷資料庫連接配接狀态那裡其實可以不要,一般都是能打開成功的,如果需要提示的話可以寫

string strsql = "Data Source=(local);Initial Catalog=考勤;Integrated Security=True";//建立連接配接字元串
            SqlConnection con = new SqlConnection(strsql);//建立資料庫的連接配接
            con.Open();//打開連接配接
            if (con.State == ConnectionState.Open)//判斷資料庫連接配接的狀态是否為打開狀态
            {
                MessageBox.Show("資料庫連接配接成功");
            }
            String sqlcom= "select 賬号,密碼 from 學生登入表";//寫出要執行的sql語句
            SqlCommand com = new SqlCommand(sqlcom, con);//通過資料庫的Command對象來操作資料庫,比如添加,查詢,删除,修改
            com.ExecuteNonQuery();//使用Command對象的ExecuteNonQuery()的方法去執行對資料庫的操作,該方法傳回的為受影響的行數,比如你的sql語句導緻有三行資料被删,那麼受影響的行數即為3
            //
            //上面兩行Command對象的ExecuteReader()方法也能起到同樣的作用,ExecuteReader()方法執行對資料庫的操作,并生成一個包含資料的SqlDataReader對象,是以要用SqlDataReader對象去接收
            //是以也可以用下面兩行代碼
            //SqlCommand com = new SqlCommand(sqlcom, con);
           // SqlDataReader sdr = com.ExecuteReader();
           

到這裡為止連接配接資料庫并執行sql語句的部分就完成了,但是這樣僅僅是在資料庫做出了改變,C#往往需要把改變後的表顯示到VS中,那麼就要用到DataGridView控件

C#連接配接sqlserver資料庫和資料綁定DataGridView控件

我們需要去把查詢後的表綁定到這個控件當中去,那麼上述代碼需要改一點點

我們要用到DataSet對象了,但是在用DataSet對象時需要用到DataAdapter對象,是以先寫DataAdapter對象,DataAdapter對象是DataSet和資料源的橋梁,先生成一個DataAdapter對象擷取資料擴充卡

con = new SqlConnection("Data Source=(local);Initial Catalog=考勤;Integrated Security=True");
        con.Open();
        String sqlcom = "select * from 學生登入表";
        //其實就是這裡改了一點點,這裡可以用SqlDataAdapter去執行語句
        SqlDataAdapter da = new SqlDataAdapter(sqlcom, con);//生成一個資料擴充卡
        DataSet ds = new DataSet();//然後再生成一個DataSet對象,DataSet是一個資料集,存儲資料在記憶體中
        da.Fill(ds);//用SqlDataAdapter對象的Fill()方法将資料填充到資料集當中,資料集中其實就是執行語句後的表
        //接下來就是把表綁定在控件中去顯示了
        //方法一:如果資料集中隻有一張表(這裡的一張表是指你執行操作後生成的表,而不是在資料庫兩表或三表查詢的表)那麼可以直接用下面的代碼
        dataGridView1.DataSource = ds.Tables[0].DefaultView;
        //方法二:如果有很多張表,則需要用下面的代碼
        dataGridView1.DataSource = ds;
        dataGridView1.DataMember = "表名";
        //方法三:用DataTable對象去接收DataSet對象中的表
        DataTable dt;
        dt = ds.Tables[0];
        dataGridView1.DataSource = dt.DefaultView;
           

上面的綁定方法根據情況去選擇就好了,這樣就能把表顯示在VS的DataGridView

中了

附一個完整的代碼

con = new SqlConnection("Data Source=(local);Initial Catalog=考勤;Integrated Security=True");
            con.Open();
            String sqlcom = "select * from 學生登入表";
            SqlDataAdapter da = new SqlDataAdapter(sqlcom, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            DataTable dt;
            dt = ds.Tables[0];
            dataGridView1.DataSource = dt.DefaultView;
           

執行後的結果就是下圖

C#連接配接sqlserver資料庫和資料綁定DataGridView控件

圖檔很粗糙,也是為了示範随便弄的