ADO.NET入门学习笔记(二)

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         }

猜你喜欢

转载自www.cnblogs.com/Q1143316492/p/9033906.html