标签:内存 控件 hang des ase ++ 添加 入门学习 message
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(object sender, 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 = new SqlCommand(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 }
标签:内存 控件 hang des ase ++ 添加 入门学习 message
原文地址:https://www.cnblogs.com/Q1143316492/p/9033906.html