黑马程序员技术交流社区

标题: 怎么使用ADO.NET? [打印本页]

作者: 陈康    时间: 2012-8-3 18:32
标题: 怎么使用ADO.NET?
本帖最后由 ITExpert 于 2012-8-3 23:13 编辑

我知道,连接数据库有两种方式,请问,这两者怎么连接?这两者又有何区别?哦,对了,还请大侠代码示例!!!!
作者: 李晋    时间: 2012-8-3 18:50
创建SqlConnection是建立数据库连接,如果多次创建即会非常消耗时间。它使用后必须用Close()释放,否即会一直占用宝贵的带宽资源。
创建SqlDataAdapter同样也是会有创建数据库连接的操作,但是它优化了这个连接的过程(牺牲更多的内存换取更快的速度),创建一次后可以多次使用而不会一直占用宝贵的带宽资源.
作者: 许庭洲    时间: 2012-8-5 14:36
1,方法1:使用了DataAdapter和DataSet,是离线内存数据集 ;
    SqlConnection   sqlcon   =   new   SqlConnection( "server=.\\sqlexpress;database=db;AttachDbFilename=C:\\MyDB.mdf;Trusted_Connection=Yes ");
    sqlcon.Open();
    SqlDataAdapter   sqlda   =   new   SqlDataAdapter( "select   sname,ssex,snumber,sclass   from   student ",sqlcon);
    sqlda.Fill(ds, "pp ");
    dataGridView1.DataSource=ds.Tables[0];
2,方法1使用场景是具有关系的多个表的操作,少量纪录的更改操作等;
3,方法2:使用了DataReader,DataReader是只进只读的数据集;
     SqlConnection   sqlcon   =   new   SqlConnection( "server=.\\sqlexpress;database=db;AttachDbFilename=C:\\MyDB.mdf;Trusted_Connection=Yes ");
     sqlcon.Open();
     SqlCommand   sqlcmd   =   new   SqlCommand( "select   sname,ssex,snumber,sclass   from   student ",sqlcon);
     DataReader   Rd;        
     Rd   =   cmd.ExecuteReader();  
     for(int   i;i <=Rd.Legth();i++)
     {                  
      dataGridView1.DataSource=Rd.GetString(i);
     }
4,方法2使用场景是一次性读取大量不必更改的纪录。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2