DataCommand和DataAdapter
SqlDataReader 高效,功能弱,只读访问
SqlDataAdapter 强大,要求资源也大一点
SqlDataReader 只能在保持跟数据库连接的状态下才可以读取。。。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。SqlDataAdapter 大多情况下是一次性读取一个表,然后填充到DataSet中,然后就可以断开跟数据库的连接了。
因为DataSet是离线的,所以SqlDataAdapter这个对象是连接DataSet和数据库的桥梁,所有对DataSet的操作(填充,更新等)都要通过他
ado.net数据访问有两种方式:
1.离线--通过DataSet,然后离线增,删,改,最后通过SqlDataAdapter解 析到数据库中
2.直接对数据库操作SqlCommand (Update,Insert,Delete)
SqlCommand就是是命令了,可以用它来执行SQL命令
SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的一组对象
SqlCommand对应DateReader
SqlDataAdapter对应DataSet
一、DataCommand
1 string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
2 SqlConnection sqlconn = new SqlConnection(sqlconnstr);
3 //建立Command对象
4 SqlCommand sqlcommand = new SqlCommand();
5 //Command对象的属性赋值
6 sqlcommand.Connection = sqlconn;
7 sqlcommand.CommandText = "delete from Employees where ID=@ID";
8 sqlcommand.Parameters.AddWithValue("@ID", TextBox1.Text);
9 //打开数据库连接
10 sqlconn.Open();
11
12 //执行数据库操作
13 intDeleteCount = sqlcommand.ExecuteNonQuery();
14
15 删除对象、关闭连接
16
17 sqlcommand = null;
18 sqlconn.Close();
19 sqlconn = null;
1 SqlCommand myconn = new SqlCommand("select * from v_economy2_comidd where eid=" + Request.QueryString["eid"] + "", conn);
2
3 conn.Open();
4
5 SqlDataReader rd = myconn.ExecuteReader();
6
7 rd.Read();
8
9 Lbyear1.Text = rd["year1"].ToString();
10
11 Lbmonth1.Text = rd["month1"].ToString();
12
13 Lbcom_name.Text = rd["com_name"].ToString();
14
15 rd.Close();
16
17 conn.Close();
二、DataAdapter
1 string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; ;
2 SqlConnection sqlconn = new SqlConnection(sqlconnstr);
3 DataSet ds = new DataSet();
4 sqlconn.Open();
5 SqlDataAdapter sqld = new SqlDataAdapter("select * from student", sqlconn);
6 sqld.Fill(ds, "tabstudent");
7
8 GridView1.DataSource = ds.Tables["tabstudent"].DefaultView;
9 GridView1.DataBind();
10 sqlconn.Close();
11 sqlconn = null;
1 string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
2 SqlConnection sqlconn = new SqlConnection(sqlconnstr);
3 //建立DataSet对象
4 DataSet ds = new DataSet();
5 //建立DataTable对象
6 DataTable dtable;
7 //建立DataRowCollection对象
8 DataRowCollection coldrow;
9 //建立DataRow对象
10 DataRow drow;
11 //打开连接
12 sqlconn.Open();
13 //建立DataAdapter对象
14 SqlDataAdapter sqld = new SqlDataAdapter("select * from Employees", sqlconn);
15 //用Fill方法返回的数据,填充DataSet,数据表取名为“tabstudent”
16 sqld.Fill(ds, "Employees");
17 //将数据表tabstudent的数据复制到DataTable对象
18 dtable = ds.Tables["Employees"];
19 //用DataRowCollection对象获取这个数据表的所有数据行
20 coldrow = dtable.Rows;
21 //逐行遍历,取出各行的数据
22 for (int inti = 0; inti < coldrow.Count; inti++)
23 {
24 drow = coldrow[inti];
25 Label1.Text += " 编号:" + drow[0];
26 Label1.Text += " 姓名:" + drow[1];
27 Label1.Text += " 性别:" + drow[2];
28 Label1.Text += " 年龄:" + drow[3];
29 Label1.Text += " 工作日期:" + drow[4] + "<br />";
30 }
31 //执行更新
32 sqld.Update(dtable.GetChanges());
33 //使DataTable保存更新
34 DataTable.AcceptChanges();
35 sqlconn.Close();
36 sqlconn = null;
37

更多精彩

