jjzjj

sqlconnection

全部标签

c# - C# using 语句、SQL 和 SqlConnection

是否可以使用using语句C#SQL?privatestaticvoidCreateCommand(stringqueryString,stringconnectionString){using(SqlConnectionconnection=newSqlConnection(connectionString)){SqlCommandcommand=newSqlCommand(queryString,connection);command.Connection.Open();command.ExecuteNonQuery();}}如果打开连接时出错怎么办?using语句是try和fin

c# - "Login failed for user"C# 与 SQLConnection

我一直在尝试通过我的C#代码连接到我的数据库(与我的代码位于同一台计算机上)。问题是我不断收到“用户登录失败”错误...我承认我对连接数据库的了解很少,而且我已经尝试了其他问题中的几乎所有步骤!这是我的部分代码:SqlConnectionconnection=newSqlConnection(ConfigurationManager.ConnectionStrings["SQLServerConnection"].ConnectionString);SqlCommandcommand=connection.CreateCommand();command.CommandText=@"IF

c# - 关闭 SqlConnection 和 SqlCommand c#

在我的DAL中,我这样写查询:using(SQLConnectionconn="connectionstringhere"){SQLCommandcmd=new("sqlquery",conn);//executeitblahblah}现在我突然想到我没有明确关闭SQLCommand对象。现在我知道“using”block会处理SQLConnection对象,但这是否也会处理SQLCommand对象?如果不是,那我就有严重的问题了。我将不得不在成千上万行代码的SQLCommand上输入“使用”,或者在数百种方法上执行cmd.Close()。请告诉我,如果放入using或closing命

c# - SqlConnection SqlCommand SqlDataReader IDisposable

SqlConnection、SqlCommand和SqlDataReader都实现了IDisposable接口(interface)。我阅读了有关始终将IDisposables包装到usingblock中的最佳实践。所以,我查询数据的常见场景看起来像这样(当然,在更大的上下文中,像linq2sql这样的映射工具是合适的,但假设我们想在这里使用这种方法):using(SqlConnectioncn=newSqlConnection("myConnectionstring")){using(SqlCommandcm=newSqlCommand("myQuery",cn)){//maybea

c# - SqlConnection 是如何管理 IsolationLevel 的?

这MSDNarticle指出:Anisolationlevelhasconnection-widescope,andoncesetforaconnectionwiththeSETTRANSACTIONISOLATIONLEVELstatement,itremainsineffectuntiltheconnectionisclosedoranotherisolationlevelisset.Whenaconnectionisclosedandreturnedtothepool,theisolationlevelfromthelastSETTRANSACTIONISOLATIONLEVEL

c# - 从 DbConnection 获取 SqlConnection

我在DbContext上有一个扩展方法,我想在其中执行SqlBulkCopy。因此我需要一个SqlConnection。来自DbContext的连接来自DbConnection类型。在其他一些事情中,我尝试了这个:varconnection=newSqlConnection(dbContext.Database.Connection.ConnectionString);问题是密码丢失(可能出于安全原因)。我尝试的另一件事是向上转换:varbulk_copy=newSqlBulkCopy((SqlConnection)dbContext.Database.Connection);这实际上

c# - "SqlConnection does not support parallel transactions"什么时候发生?

我有很多相当有效的代码已经在这里好几个月了,今天我看到记录了以下异常:System.InvalidOperationExceptionSqlConnectiondoesnotsupportparalleltransactions.atSystem.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLeveliso,StringtransactionName)atSystem.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLeveliso,St

c# - 使用相同的 SqlConnection 对 SqlCommand.BeginExecuteNonQuery 的多个并发调用

我有一些工作的C#代码使用SqlConnection创建临时表(例如,#Foo),调用存储过程来填充这些临时表并将结果返回到C#客户端,使用c#对这些结果执行复杂的计算,并使用计算结果更新之前创建的其中一个临时表。由于在整个过程中使用临时表,我们必须只有一个SqlConnection。我发现了用计算结果更新临时表的性能瓶颈。此代码已对更新进行批处理,以防止C#客户端内存不足。每批计算数据都通过SqlCommand.ExecuteNonQuery发送到存储过程,存储过程依次更新临时表。代码大部分时间都花在调用ExecuteNonQuery上。因此,我将其更改为BeginExecuteNo

c# - 我可以从 SqlConnection 对象获取对挂起事务的引用吗?

假设有人(不是我)编写了以下代码并将其编译成程序集:using(SqlConnectionconn=newSqlConnection(connString)){conn.Open();using(vartransaction=conn.BeginTransaction()){/*Updatesomethinginthedatabase*//*ThencallanyregisteredOnUpdatehandlers*/InvokeOnUpdate(conn);transaction.Commit();}}对InvokeOnUpdate(IDbConnectionconn)的调用调用了一

c# - 如何在使用连接池时强制 SqlConnection 物理关闭?

我明白如果我实例化一个SqlConnection对象,我真的是在从一个连接池中抓取一个连接。当我调用Open()时,它将打开连接。如果我对该SqlConnection对象调用Close()或Dispose()方法,它将返回到连接池。但是,这并不能真正告诉我它是否真的关闭了,或者我是否仍然与数据库保持事件连接。我如何强制SqlConnection在网络级别关闭,或者至少告诉它何时关闭?示例:using(SqlConnectionconn=newSqlConnection(DBConnString)){conn.Open();SqlCommandcmd=conn.CreateCommand