gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 02:05:51 24 4
gpt4 key购买 nike

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

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

DataTable 正在生成,但接下来要做什么。告诉我一些语法。我也不需要那里的 select 语句,我只想将 DataTable 中的所有信息插入到已创建的数据库表中(更新表) .我将使用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 { }
}

会像这个方法一样使用catch this exception“更新无法找到 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/

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