作者yin6705 (yin6705)
看板Database
标题Re: [SQL ] 请教connection的问题
时间Tue Dec 7 00:44:08 2010
如果要用transaction,
那你在SqlConnection Open()之後,去执行 BeginTransaction()
就可以取得SqlTransaction物件,然後要把它给定到SqlCommand的Transaction属性,
最後执行完了一系列的新增删除修改指令後,记得要Commit()
有发生错误,则执行 Rollback()
虽然SqlDataAdapter可以不做Open,Close,
但我建议你不管是不是只做select(用SqlDataAdapter)
一律都自己控制Open、Close,这样比较清楚。
详细的用法与说明,请查msdn。
※ 引述《mcdstyle (静止)》之铭言:
: ※ 引述《conan99 (Conan)》之铭言:
: : 请问一下,是否有网站是教学关於
: : connection、command、adapter及transection的「意涵」
: : 如果程式上单一个SQL指令
: : 知道要取得连结,下com..然後取得查询的结果
: : 但是如果像以下程式码,要分别下三次SQL指令
: : 但是所存取的DB都是同一个,那sqlconnection只new一次
: : 後面就直接用可以吗?
: 就你提供的范例来说,SqlConnection只要new一次即可,也就是都用myConn即可。
: : 以及有的程式码会去open及close
: : 何时要open?何时要close?
: ExecuteNonQuery()前要Open,执行完要Close,释放资源。
: 如果你使用SqlDataAdapter这个类别,可以不用作Open跟Close,详情见
: http://ppt.cc/P1zk
: : 请前辈指教一下,我对於这几个原理不太了解,谢谢了
: 给你两个Source,读一下吧。
: http://www.netmag.com.tw/member/netmag_article/n070306204.pdf
: http://www.netmag.com.tw/member/netmag_article/n020300102.pdf
: 你也可以上MSDN用类别名称去搜寻相关的说明。
: : ========================
: : SqlConnection myConn = new SqlConnection();
: : SqlCommand myCommand = new SqlCommand("select.....", myConn);
: : myCommand.ExecuteNonQuery();
: : if(条件)
: : {
: : SqlConnection myConn2 = new SqlConnection();
: : SqlCommand myCommand2 = new SqlCommand("select.....", myConn2);
: : myCommand.ExecuteNonQuery();1)", myConn2);
: 这边程式怪怪的
: : }
: : SqlConnection myConn3 = new SqlConnection();
: : SqlCommand myCommand3 = new SqlCommand("select.....", myConn3);
: : myCommand.ExecuteNonQuery();1)", myConn3);
: 这边程式也怪怪的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.87.8
1F:→ grence:我以为用 SqlDataAdapter还自己管open、close是无意义的。 12/07 20:23
2F:推 mcdstyle:yin大的论点是对的,这样会比较保险些。 12/08 00:45