ADO.NET入門學習筆記(二)
阿新 • • 發佈:2018-05-14
pre ID ssa private 更新 clear event and form
gridView再winform中顯示數據庫的數據。
SqlDataAdapter, DataSet, DataTable的簡單應用
1,安裝學習筆記一的那幾步打開數據庫,然後使用。
1 SqlDataAdapter da; //數據適配器 2 DataSet ds = new DataSet("StuMS"); //DataSet數據集 3 DataTable dt = new DataTable(); //數據表 4 5 private void button1_Click(objectsender, EventArgs e) 6 { 7 string sqlStr = "select * from Student"; 8 string connString = @"Data Source=DESKTOP-BO0VRVJ;Initial Catalog=StuMS;Integrated Security=True"; 9 SqlConnection conn = new SqlConnection(connString); 10 SqlCommand cmd = newSqlCommand(sqlStr, conn); 11 12 conn.Open(); 13 14 da = new SqlDataAdapter(cmd); //創建數據適配器對象 15 da.Fill(ds, "StuMS"); //將查詢結果傳入數據集 16 dt = ds.Tables["StuMS"]; 17 18 conn.Close(); 19 20 dgv.DataSource = dt; //dgv是dataGridView控件21 dgv.ReadOnly = true; 22 23 }
對於數據表中的數據可以用.Rows[行][列]訪問(查)
1 for (int i = 0; i < dt.Rows.Count; i++) 2 { 3 if (newName == dt.Rows[i][1].ToString().Trim()) 4 { 5 MessageBox.Show("用戶名已存在!"); 6 textBox1.Clear(); 7 textBox1.Focus(); 8 return; 9 } 10 }
再dataTables中添加一行(增)
1 DataRow dtR = dt.NewRow(); //創建新的一行 2 dtR["用戶名"] = newName; 3 dtR["密碼"] = "000000"; 4 dtR["用戶類型"] = comboBox1.SelectedIndex == 0 ? 2 : 1; 5 dtR["狀態"] = 1; 6 dtR["姓名"] = textBox2.Text; 7 dt.Rows.Add(dtR); //將新的這行添加到表裏
最後dataTables中的數據只是改在內存中的,可以在窗口關閉是檢查如果數據更新寫到數據庫中
1 private void Frm_Admin_Manage2_FormClosing(object sender, FormClosingEventArgs e) 2 { 3 SqlCommandBuilder cmdBld = new SqlCommandBuilder(da); 4 if (ds.HasChanges()) 5 { 6 da.Update(ds, "Admins"); 7 } 8 }
ADO.NET入門學習筆記(二)