jjzjj

sqlcommand

全部标签

c# - SQL 查询表示未提供参数,但已添加到 SqlCommand 对象

我有一个存储过程,它有一个名为UserName的参数,在我后面的代码中,我有一个SqlCommand对象,我使用Add方法将参数添加到该对象。但由于某种原因,当命令对象尝试运行ExecuteReader方法时,它会抛出异常。我完全不知所措,不知道为什么它不能识别参数。在运行ExecuteReader方法之前,我设置了一个断点,因此我可以确认命令对象确实包含正在设置的参数,这是真的。我知道当参数没有添加到命令对象时,存储过程确实返回了正确的数据,而是在实际存储过程中进行了硬编码。以下是catchblock中给出的异常消息。我还将粘贴我的代码和存储过程的第一部分。看到我尝试了许多不同的方法

c# - SQL 查询表示未提供参数,但已添加到 SqlCommand 对象

我有一个存储过程,它有一个名为UserName的参数,在我后面的代码中,我有一个SqlCommand对象,我使用Add方法将参数添加到该对象。但由于某种原因,当命令对象尝试运行ExecuteReader方法时,它会抛出异常。我完全不知所措,不知道为什么它不能识别参数。在运行ExecuteReader方法之前,我设置了一个断点,因此我可以确认命令对象确实包含正在设置的参数,这是真的。我知道当参数没有添加到命令对象时,存储过程确实返回了正确的数据,而是在实际存储过程中进行了硬编码。以下是catchblock中给出的异常消息。我还将粘贴我的代码和存储过程的第一部分。看到我尝试了许多不同的方法

c# - 如果关联的 SqlConnection 将被处置,是否需要 SqlCommand.Dispose()?

我通常使用这样的代码:using(varconnection=newSqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString)){varcommand=connection.CreateCommand();command.CommandText="...";connection.Open();command.ExecuteNonQuery();}我的命令会自动处理吗?或者不是,我必须将它包装到usingblock中?是否需要处置SqlCommand? 最佳答

c# - 如果关联的 SqlConnection 将被处置,是否需要 SqlCommand.Dispose()?

我通常使用这样的代码:using(varconnection=newSqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString)){varcommand=connection.CreateCommand();command.CommandText="...";connection.Open();command.ExecuteNonQuery();}我的命令会自动处理吗?或者不是,我必须将它包装到usingblock中?是否需要处置SqlCommand? 最佳答

c# - SqlConnection.CreateCommand 和 new SqlCommand 之间有什么区别吗?

在.Net中,创建新的SqlCommand对象并为其附加SqlConnection和调用CreateCommand()之间是否存在任何功能差异在现有的SqlConnection对象上? 最佳答案 不,它们是同一件事。我反汇编了SqlConnection.CreateCommand并发现了这个:publicSqlCommandCreateCommand(){returnnewSqlCommand(null,this);}这证明它们确实是一回事。 关于c#-SqlConnection.Cre

c# - SqlConnection.CreateCommand 和 new SqlCommand 之间有什么区别吗?

在.Net中,创建新的SqlCommand对象并为其附加SqlConnection和调用CreateCommand()之间是否存在任何功能差异在现有的SqlConnection对象上? 最佳答案 不,它们是同一件事。我反汇编了SqlConnection.CreateCommand并发现了这个:publicSqlCommandCreateCommand(){returnnewSqlCommand(null,this);}这证明它们确实是一回事。 关于c#-SqlConnection.Cre

c# - 在 C# 中使用 SqlCommand Prepare 的优点和缺点?

当我阅读学习C#的书籍(可能是一些旧的VisualStudio2005书籍)时,我遇到了建议每次执行SQL时始终使用SqlCommand.Prepare调用(无论是SQLSERVER2005/2008上的SELECT/UPDATE还是INSERT),然后我将参数传递给它。但真的如此吗?应该每次都做吗?还是只是偶尔?传递的参数是一个还是五个或二十个重要吗?它应该提供什么提升(如果有的话)?它会不会很明显(我一直在这里使用SqlCommand.Prepare并在那里跳过它,从来没有任何问题或明显的差异)。为了这个问题,这是我常用的代码,但这更像是一个一般性问题。publicstaticde

c# - 在 C# 中使用 SqlCommand Prepare 的优点和缺点?

当我阅读学习C#的书籍(可能是一些旧的VisualStudio2005书籍)时,我遇到了建议每次执行SQL时始终使用SqlCommand.Prepare调用(无论是SQLSERVER2005/2008上的SELECT/UPDATE还是INSERT),然后我将参数传递给它。但真的如此吗?应该每次都做吗?还是只是偶尔?传递的参数是一个还是五个或二十个重要吗?它应该提供什么提升(如果有的话)?它会不会很明显(我一直在这里使用SqlCommand.Prepare并在那里跳过它,从来没有任何问题或明显的差异)。为了这个问题,这是我常用的代码,但这更像是一个一般性问题。publicstaticde

c# - "SqlDbType"和 "size"在添加SqlCommand参数时应该什么时候使用?

有一个相关的问题:What'sthebestmethodtopassparameterstoSQLCommand?但是我想知道有什么不同,不同的方式是否有任何问题。我通常使用这样的结构:using(SqlConnectionconn=newSqlConnection(connectionString))using(SqlCommandcmd=newSqlCommand(SQL,conn)){cmd.CommandType=CommandType.Text;cmd.CommandTimeout=Settings.Default.reportTimeout;cmd.Parameters.A

c# - "SqlDbType"和 "size"在添加SqlCommand参数时应该什么时候使用?

有一个相关的问题:What'sthebestmethodtopassparameterstoSQLCommand?但是我想知道有什么不同,不同的方式是否有任何问题。我通常使用这样的结构:using(SqlConnectionconn=newSqlConnection(connectionString))using(SqlCommandcmd=newSqlCommand(SQL,conn)){cmd.CommandType=CommandType.Text;cmd.CommandTimeout=Settings.Default.reportTimeout;cmd.Parameters.A