c# - 将 DataTable 保存到数据库表中

标签 c# mysql .net datatable

我正在从我的应用程序生成一个数据表,我想将整个数据表保存到一个数据库表中。

DataTable ds = //add the info from the queue in the application

数据表正在生成,但下一步该怎么做。向我展示一些语法。我也不需要那里的 select 语句,我只想将数据表中的所有信息插入到已经创建的数据库表中(更新表) 。 我将使用ODBC连接访问MYSQL数据库

我想直接通过dataset将数据更新到数据库

public void update(DataTable ds)
{
  try
  {  
    lock (myLockHolder)
    {
      X1 = 1;
      OdbcConnection con = 
      new OdbcConnection(LocalConnection.GetLocalConnetionString());
      OdbcCommand cmd;
      OdbcDataAdapter da;
      DataSet ds1=new DataSet();
      string query = "";
      query = "update parameter" + Environment.NewLine;
      query += "set paramvalue=paramvalue,date_logged1=date_logged1," 
        + Environment.NewLine;
      query += "  Quality=Quality,date_logged=date_logged" 
        + Environment.NewLine;
      query += " where itemID=itemID";
      cmd = new OdbcCommand(query, con);
      da = new OdbcDataAdapter(cmd);
      ds1=new DataSet();
      ds1.Tables.Add(ds);
      da.Update(ds1);                   

    }
  }
  catch { }
  finally { }
}

它将像这样使用捕获此异常的方法 “更新无法找到 TableMapping['Table'] 或 DataTable 'Table'。”

最佳答案

您应该创建插入 SQL 字符串,循环遍历数据表中的所有行,为数据表中的每一列添加参数,然后执行此查询。

string sql = "INSERT INTO T (A, B, C) VALUES (@A, @B, @C)"; 
using (SqlConnection conn = new SqlConnection(connectionString))
{   
   conn.Open();   
   foreach (DataRow r in myTable.Rows)   
   {      
       SqlCommand cmd = conn.CreateCommand();      
       cmd.CommandText = sql;      
       cmd.Parameters.AddWithValue("@A", r["A"]);      
       cmd.Parameters.AddWithValue("@B", r["B"]);      
       cmd.Parameters.AddWithValue("@C", r["C"]);      
       cmd.ExecuteNonQuery();   
   }
}

关于c# - 将 DataTable 保存到数据库表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6134256/

相关文章:

c# - 使用 C# 从 IP 地址中删除前导零

c# - JavaScript 未在 C# MVC4 中触发

c# - 在 4.0 项目中引用 .net Framework 4.5.1 程序集

应用于字符串的mysql字母顺序

c# - 如何实现像 Buxfer : Open Id, Facebook、Google、Aol 等通用登录系统

c# - Entity Framework 查询说找不到我从未指定的列的列

c# - 如何将我的 asp.net 项目发布到本地 iis?

python - 如何在Python中使用带有日期时间字段的like查询

mysql - 如何构建像 FourSquare 一样的排行榜(高于和低于你的用户)

.net - vb.net:可以将一个字符串分割成一个字符串吗