1.楼上有人回答了
2.如果是sqlserver的话,连接字符为:
"data source=NTC;initial catalog=pubs;password=123456;persist security info=True;user id=sa;workstation id=WZD;packet size=4096;Pooling=true;Max Pool Size=100;Min Pool Size=1"
Pooling=true;Max Pool Size=100;Min Pool Size=1 这句控制连接池的。
如果连接字符串相同的连接会使用连接池。
3.如果数据库支持显式事务,可以在数据库中通过脚本调用。
如果数据库驱动支持的,在数据库提供程序中调用,如sqlConnection.BeginTranscation
如果都不行,可以通过继承ServicedComponent,并通过元数据TransactionAttribute来实现。
eg:
<Transaction(TransactionOption.Supported)> Public Class Account
Inherits ServicedComponent
<AutoComplete()> Public Sub Debit(amount As Integer)
' Do some database work. Any exception thrown here aborts the
' transaction; otherwise, transaction commits.
End Sub
End Class
大家说的够明白的吧,你也可以把数据库的连接程序写在公用类里,例如添加Public_Class.cs 连接时调用config同上,( Dim nowdsn As String = ConfigurationSettings.AppSettings("dsn")
Dim MyConnection As SqlConnection = New SqlConnection(nowdsn)
),然后在其它窗体中,直接调用Public_Class.函数(sql参数);能看懂吧!