首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于数据库语句open函数的一些有关问题

2012-09-10 
关于数据库语句open函数的一些问题SqlConnection conn new SqlConnection(server.databasedb_lvshua

关于数据库语句open函数的一些问题
SqlConnection conn = new SqlConnection("server=.;database=db_lvshuang;uid=sa;pwd=sa");
  // conn.Open();
  SqlDataAdapter sda = new SqlDataAdapter("select * from tb_test", conn);
  DataSet ds = new DataSet();
  sda.Fill(ds, "tt");
  dataGridView1.DataSource = ds.Tables[0];
这是导出数据库表的代码,书上在实例化SqlConnection对象后没写open语句也能导出表,我表示疑问,数据库连接没打开怎么可能导出数据,可是事实能导出求解啊

我是新手,学东西喜欢纠结小细节,也许答案很白痴,还是求大神们解答,不吝惜分

[解决办法]
SqlDataAdapter是会自己去打开的
如果你换成SqlDataReader试试,这个就必须要求你 connection.Open()了。
[解决办法]

C# code
SqlConnection conn = new SqlConnection("server=.;database=db_lvshuang;uid=sa;pwd=sa");  // conn.Open();  //你可以在这里去查看conn的ConnectionState 。设断点,加代码,都可以的  SqlDataAdapter sda = new SqlDataAdapter("select * from tb_test", conn);
[解决办法]
使用SqlDataAdapter 时,不用使用Connection 对象的Open方法,因为SqlDataAdapter会自动开放一个连接,然后提交查询,获取结果,最后关闭连接。如果Fill方法之前就开放了 Connection ,那么Connection在操作之后仍然保持开放的状态。

http://blog.sina.com.cn/s/blog_567b904d01014t6b.html
[解决办法]
SqlDataAdapter是非断开式,不用显示打开sqlConnection对象;
sqlDataReader反之;

热点排行