标題 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控件
我們需要去把查詢後的表綁定到這個控件當中去,那麼上述代碼需要改一點點
我們要用到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;
執行後的結果就是下圖
圖檔很粗糙,也是為了示範随便弄的