gpt4 book ai didi

c# - 调用存储过程时出现语法错误。我看不出问题出在哪里

转载 作者:行者123 更新时间:2023-11-30 17:24:09 27 4
gpt4 key购买 nike

我在调用以下存储过程时遇到问题。当我调用 ExecuteReader 时,出现错误“'GetAverages2' 附近的语法不正确”。我可以创建存储过程并从 TSQL 调用它。我似乎无法从 ADO 让它工作:

CREATE PROCEDURE GetAverages2
@CompanySize INT,
@Q1 FLOAT OUT,
@Q2 FLOAT OUT
AS
SELECT @Q1 = 1, @Q2 = 2
GO

string connectionString = ConfigurationManager.ConnectionStrings["MyDbConnection"].ConnectionString;
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand("GetAverages2", connection))
{
command.Parameters.Add("@CompanySize", System.Data.SqlDbType.Int).Value = int.Parse(Request.QueryString["CompanySizeId"]);
command.Parameters.Add("@Q1", System.Data.SqlDbType.Float).Direction = System.Data.ParameterDirection.Output;
command.Parameters.Add("@Q2", System.Data.SqlDbType.Float).Direction = System.Data.ParameterDirection.Output;
connection.Open();
SqlDataReader reader = command.ExecuteReader();

最佳答案

SqlCommand.CommandType默认为 CommandType.Text,因此它试图将文本“GetAverages2”作为原始 SQL 语句执行。在创建命令后立即添加此行:

command.CommandType = CommandType.StoredProcedure;

关于c# - 调用存储过程时出现语法错误。我看不出问题出在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1398719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com