如何从 ASP.NET 调用具有多个输入值的 MySQL 存储过程

Posted

技术标签:

【中文标题】如何从 ASP.NET 调用具有多个输入值的 MySQL 存储过程【英文标题】:How to call MySQL stored procedure with multiple input values from ASP.NET 【发布时间】:2017-09-29 13:32:27 【问题描述】:

这是我的 mysql 存储过程。

    create procedure InsertIntotblStudentProc (PStudentId VARCHAR(10), PStudentName VARCHAR(10))
    begin
    insert into tblStudent (StudentId, StudentName) values (PStudentId, PStudentName);
end;

这是我的 ASP 代码。

   `MySqlCommand cmd = new MySqlCommand("InsertIntotblStudent", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("PStudentId", TextBox1.Text);`

我在这里停下来,因为我想用两个参数调用过程,而我的另一个参数在 TextBox2 中。

帮我提建议。

【问题讨论】:

【参考方案1】:

你可以在command.Parameters中添加多个参数,参考下面的代码。

        var connectionString = ""; // Provide connecction string here.
    using (var connection = new MySqlConnection(connectionString))
    
        MySqlCommand command = new MySqlCommand("InsertIntotblStudent", connection);
        command.CommandType = CommandType.StoredProcedure;
        command.Parameters.Add(new MySqlParameter("PStudentId", TextBox1.Text));
        command.Parameters.Add(new MySqlParameter("PStudentName", TextBox2.Text));
        command.Connection.Open();
        var result = command.ExecuteNonQuery();
        command.Connection.Close();
    

【讨论】:

【参考方案2】:

考虑像这样使用MySqlParameter 列表:

    var sqlParameters = new List<MySqlParameter>();
    sqlParameters.Add(new MySqlParameter  MySqlDbType = MySqlDbType.Int32, ParameterName = "@valuename", Value = textbox1 );
        .
        .
    cmd.Parameters.AddRange(sqlParameters.ToArray());

【讨论】:

以上是关于如何从 ASP.NET 调用具有多个输入值的 MySQL 存储过程的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LINQ 在 asp.net mvc 中获取具有特定子值的所有父母? [复制]

如何让 Json.NET 为具有复杂值的属性设置 IsSpecified 属性?

使用具有多个来源的 PUT 和 DELETE 请求时如何解决 ASP.NET Web API CORS Preflight 问题?

如何测试具有多个输入调用的循环?

闪亮:从具有多个值的 textInput 中子集表

从一个位置调用多个 ASP.Net Core 微服务