DataCommand和DataAdapter

SqlDataReader 高效,功能弱,只读访问
SqlDataAdapter 强大,要求资源也大一点

SqlDataReader 只能在保持跟数据库连接的状态下才可以读取。。。

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 [email protected]";
 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  
时间: 2024-11-10 13:38:32

DataCommand和DataAdapter的相关文章

C#之数据适配器:DataAdapter对象

在ADO.NET中,能够用于执行命令操作的不但有有Command对象,还有DataAdapter对象,DataAdapter对象执行查询的返回数据将存储在DataSet对象中. DataAdapter对象概述 DataAdapter对象是DataSet和数据之间的桥梁,可以建立并初始化数据表对数据源执行SQL指令,与DataSet对象结合,提供DataSet对象存储数据,可视为DataSet对象的操作核心. 在使用DataAdapter对象时,只需要设置表示SQL命令和数据库连接的两个参数,就可

DataAdapter对象

DataAdapter对象在物理数据库表和内存数据表(结果集)之间起着桥梁的作用.它通常与DataTable对象或DataSet对象配合来实现对数据库的操作. DataAdapter对象是一个双向通道,用来把数据从数据源中读到一个内存表中,以及把内存中的数据写回到一个数据源中. DataAdapter对象可以使用Connection对象连接到数据源,并使用Command对象从数据源检索数据以及将更改写回数据源. 如果所连接的是SQL Server数据库,则需要将SqlDataAdapter与关联

DataAdapter&amp;&amp;DataSet 帮助理解小程序

// 2105/07/08 // DataAdapter&&DataSet using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; namespace DataAdapter { class Program { stati

ADO.NET笔记——使用DataAdapter执行增删改操作

相关知识: DataSet中的数据一旦从数据库下载下来,便不再与数据库保持联系.如果修改了DataSet中的数据,需要重新建立连接,并且通过SQL命令将修改更新到数据库去 编写SQL命令往往比较繁琐和机械化,ADO.NET提供了一个SqlCommandBuilder对象,帮助DataAdapter对象从SELECT语句推算出需要的UPDATE,DELETE和INSERT语句:然后DataAdapter便可以利用这些语句,检查DataSet中被修改的数据,然后提交到数据库 SqlCommandBu

Ado.net 三[SQL注入,DataAdapter,sqlParameter,DataSet]

1.SQL注入:SQL注入攻击是web应用程序的一种安全漏洞,可以将不安全的数据提交给运用程序,使应用程序在服务器上执行不安全的sql命令.使用该攻击可以轻松的登录运用程序. 例如:该管理员账号密码为xiexun,该sql的正确语句应该为: select * from Users where userName='xiexun' 如果在没有做任何处理的情况下,在登录名文本框中输入(xuxian' delete users--),单击"登录"按钮之后,相当于传了两句sql语句,一句执行查询

你必须知道的ADO.NET(九) 深入理解DataAdapter(下)

摘要 由于各种原因,很久没有更新博客了!期间,几分迷茫,几分失落.令人欣慰的是,园子里还有很多热心的读者,都期待我更新博客.想到自己的文章,能对园友有所帮助,我又重拾久违的文笔,娓娓道来,朴实而不做作.在上一篇文章<你必须知道的ADO.NET(八) 深入理解DataAdapter(上)>中,我主要介绍了DataAdapter的工作原理以及基本功能.在本文中,我将通过实例的方式讲解如何使用DataAdapter对象. 目录 如何构造一个DataAdapter对象? 填充数据到DataSet 总结

DataAdapter 与 Odbc

DataAdapterSqlDataAdapter内部通过SqlDataReader获取数据 SqlDataAdapter da = new SqlDataAdapter(); DataSet dataset=new DataSet(); dataset.Tables.Add("z"); dataset.Tables.Add("z1"); //Fill z table da.Fill(dataset, "z"); //fill a2 table

C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例

DataAdapter对象代码示例 下面的代码将说明如何利用DataAdapter对象填充DataSet对象. private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB" string sqlstr=" select * from USER "; //利用构造函数,创建DataAdapter SqlDataAdapter da=new Sql

蜗牛—C#程设之DataAdapter对象

使用DataAdapter和DataSet来读取数据表JBQK中的数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace shiyan11 { class Program { static void Main(string[] args) { string st