【问题标题】:insert the values using Mysqldataadapter.update( )使用 Mysqldataadapter.update( ) 插入值
【发布时间】:2011-09-20 05:11:04
【问题描述】:
字符串插入查询 = ""; MySqlTransaction 事务; MySqlConnection con1 = new MySqlConnection(); MySqlDataAdapter 官方发展援助; 字符串服务器 = loggerConnectionString.servername; con1.ConnectionString ="server="localhost";uid=root;pwd=;database=globasys;"; con1.Open(); 交易 = con1.BeginTransaction(); ODA = new MySqlDataAdapter(); InsertQuery = "插入到 tr_config_unit_params " + Environment.NewLine; InsertQuery += "(unit_param_id,unit_id, unit_param_desc, unit_param_opc_progid, unit_param_host, unit_param_link, unit_param_data_type, unit_param_type) " + Environment.NewLine; InsertQuery +=“值(@unit_param_id,@unit_id,@unit_param_desc,@unit_param_opc_progid,@unit_param_host,@unit_param_link,@unit_param_data_type,@unit_param_type)”;; ODA.InsertCommand =new MySqlCommand(InsertQuery, con1); ODA.InsertCommand.Parameters.Add("@unit_param_id", MySqlDbType.Int32); ODA.InsertCommand.Parameters.Add("@unit_id", MySqlDbType.Int32); ODA.InsertCommand.Parameters.Add("@unit_param_desc", MySqlDbType.VarChar); ODA.InsertCommand.Parameters.Add("@unit_param_opc_progid", MySqlDbType.VarChar); ODA.InsertCommand.Parameters.Add("@unit_param_host", MySqlDbType.VarChar); ODA.InsertCommand.Parameters.Add("@unit_param_link", MySqlDbType.VarChar); ODA.InsertCommand.Parameters.Add("@unit_param_data_type", MySqlDbType.Int32); ODA.InsertCommand.Parameters.Add("@unit_param_type", MySqlDbType.Int32); ODA.InsertCommand.Transaction = 交易; 数据集 ds = new DataSet(); ds = dt; int y= ODA.Update(dt,"tr_config_unit_params"); 事务.Commit(); con1.关闭();

我已经使用 Mysqldataadapter.update() 插入了 150000 行,但是查询执行成功,但是在 MYSQL 的数据库表中没有插入行

提前致谢.....

【问题讨论】:

    标签: c# mysql


    【解决方案1】:

    MySqlDataAdapter 的更新函数被重载。为指定 DataSet 中的每个插入、更新或删除的行调用相应的 INSERT、UPDATE 或 DELETE 语句。

    因此,您可以使用以下代码:

    string conn = "server="localhost";uid=root;pwd=;database=globasys;";
    
    using (MySqlConnection con1 = new MySqlConnection(conn))
    {
    con1.Open();
    
    MySqlTransaction transaction = con1.BeginTransaction();
    
    string InsertQuery = "Insert into tr_config_unit_params " + Environment.NewLine;
    InsertQuery += "(unit_param_id,unit_id, unit_param_desc, unit_param_opc_progid, unit_param_host, unit_param_link, unit_param_data_type, unit_param_type) " + Environment.NewLine;
    InsertQuery += " VALUES(@unit_param_id,@unit_id,@unit_param_desc, @unit_param_opc_progid, @unit_param_host, @unit_param_link, @unit_param_data_type, @unit_param_type)";;
    
    MySqlCommand command = new MySqlCommand(InsertQuery, con1);
    command.Transaction = transaction;
    
    try
    {
        //dt is a DataTable
        foreach(DataRow dataRow in dt)
        {
            command.Parameters.Clear()
            command.Parameters.AddWithValue("@unit_param_id", dataRow["unit_param_id"]);
            command.Parameters.AddWithValue("@unit_id", dataRow["unit_id"]);
            command.Parameters.AddWithValue("@unit_param_desc", dataRow["unit_param_desc"]);
            command.Parameters.AddWithValue("@unit_param_opc_progid", dataRow["unit_param_opc_progid"]);
            command.Parameters.AddWithValue("@unit_param_host", dataRow["unit_param_host"]);
            command.Parameters.AddWithValue("@unit_param_link", dataRow["unit_param_link"]);
            command.Parameters.AddWithValue("@unit_param_data_type", dataRow["unit_param_data_type"]);
            command.Parameters.AddWithValue("@unit_param_type", dataRow["unit_param_type"]);
    
            command.ExecuteNonQuery();
        }
    
        transaction.Commit();
    }
    catch(MySqlException mySqlEx)
    {
        transaction.Rollback();
    
        throw mySqlEx;
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 2016-03-17
      相关资源
      最近更新 更多