【问题标题】:How to pass C# datatable to mysql's stored procedure parameter如何将C#数据表传递给mysql的存储过程参数
【发布时间】:2019-09-17 18:20:02
【问题描述】:

我有 C# (ASP.NET) 端的数据表,我想将该数据表传递给 mysql 中的过程参数,并将该孔数据表转储到 mysql 中的临时表

如何在mysql中实现?

请告诉我!!!!

谢谢,

【问题讨论】:

    标签: c# mysql stored-procedures datatable


    【解决方案1】:

    这是一个例子:

    CREATE TYPE members_table_type AS TABLE
    (
        mem_username VARCHAR(25),
        mem_firstname VARCHAR(25),
        mem_lastname VARCHAR(25)
    );
    
    CREATE STORED PROCEDURE insert_members
    @members members_table_type
    AS
    BEGIN
        INSERT INTO dbo.members 
        (mem_username, mem_firstname, mem_lastname)
        SELECT mem_username, mem_firstname, mem_lastname FROM @members;
    END
    
    
    In .NET:
    DataTable members = new DataTable();
    members.Columns.Add(new DataColumn("mem_username", typeof(string)));
    members.Columns.Add(new DataColumn("mem_firstname", typeof(string)));
    members.Columns.Add(new DataColumn("mem_lastname", typeof(string)));
    
    DataRow row = members.NewRow();
    row["mem_username"] = "test";
    row["mem_firstname"] = "test";
    row["mem_lastname"] = "test";
    members.Rows.Add(row);
    
    SqlCommand command = new SqlCommand("insert_members");
    command.Parameters.Add(members, SqlDbType.Structured);
    command.ExecuteNonQuery();
    

    【讨论】:

    • 你不能。 MySQL 没有用户定义的类型。
    • 这将可能使用 Sql Server ,而不是使用 MySql
    • 抱歉,是的,这是用于 sql server 的
    猜你喜欢
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2016-03-01
    • 1970-01-01
    相关资源
    最近更新 更多