gpt4 book ai didi

c# - 在 Visual Studio C# 中从 mySQL 执行存储过程时无输出

转载 作者:行者123 更新时间:2023-11-29 17:57:04 24 4
gpt4 key购买 nike

我在数据表的实现中是否做错了什么?这是我第一次尝试通过 Visual Studio 发送查询(只知道如何从 mySQL 查询),所以我可能还很遥远。

没有编译错误,但运行它不会产生任何输出。

using System.Data;
using System.Configuration;
using MySql.Data.MySqlClient;
using System.Collections.Generic;

public class sp_criteria
{

public DataTable dataTable(string procedureName, Dictionary<string, object> parameterList)
{
DataTable outputDataTable;


using (MySqlConnection MySqlConnection = new MySqlConnection("Server=localhost;" +
"Port = 1234" +
"Database=heatco;" +
"Uid=root;" +
"Pwd=123456;"))
MySqlConnection.Open();
{
using (MySqlCommand sqlCommand = new MySqlCommand(procedureName, MySqlConnection))
{
sqlCommand.CommandType = CommandType.StoredProcedure;

if (parameterList != null)
{
foreach (string key in parameterList.Keys)
{
string parameterName = key;
object parameterValue = parameterList[key];


sqlCommand.Parameters.Add(new MySqlParameter("intMaxCFM", 10000));
sqlCommand.Parameters.Add(new MySqlParameter("intMinCFM", 2223));
sqlCommand.Parameters.Add(new MySqlParameter("intMinMbh", 300));
sqlCommand.Parameters.Add(new MySqlParameter("dblDimA", 20000));
sqlCommand.Parameters.Add(new MySqlParameter("dblDimB", 20000));
sqlCommand.Parameters.Add(new MySqlParameter("dblDimC", 20000));
sqlCommand.Parameters.Add(new MySqlParameter("dblDimD", 20000));

MySqlCommand cm = new MySqlCommand("CALL sp_criteria()", MySqlConnection);
}
}

MySqlDataAdapter sqlDataAdapter = new MySqlDataAdapter(sqlCommand);
DataSet outputDataSet = new DataSet();
sqlDataAdapter.Fill(outputDataSet, "compatibleset");

outputDataTable = outputDataSet.Tables["compatibleset"];
}

}

return outputDataTable;
}
}

最佳答案

您声明了一个局部变量 cm 但从未使用它:

MySqlCommand cm = new MySqlCommand("CALL sp_criteria()", MySqlConnection);

相反,在创建sqlCommand 时设置存储过程名称(CALL 是不必要的)。 (此外,您的问题中 MySqlConnection 周围的大括号看起来不正确,因此我已在此处修复了该问题。)

using (MySqlConnection MySqlConnection = new MySqlConnection(connectionString))
using (MySqlCommand sqlCommand = new MySqlCommand(procedureName, MySqlConnection))
{
MySqlConnection.Open();

sqlCommand.CommandType = CommandType.StoredProcedure;

// ADD THIS
sqlCommand.CommandText = "sp_criteria";

关于c# - 在 Visual Studio C# 中从 mySQL 执行存储过程时无输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48710646/

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