Datatable中的内容不可以直接在sql中使用,怎么处理datatable可以达到用于更新数据库内容??
答案:2 悬赏:0
解决时间 2021-03-02 10:27
- 提问者网友:斯文败类
- 2021-03-01 19:54
搜出一个内容,存储在datatable中,在使用sql更新数据库时发现不可用,怎么处理datatable达到用datatable更新数据库的效果????
最佳答案
- 二级知识专家网友:如果这是命
- 2021-03-01 20:58
你的意思是将datatable作为sql语句的一个更新来源吧? 目前来说是不可以实现的, 因为datatable是你应用程式中的数据(如C#), 而SQL语句能够使用的资料要则都要是数据中的资料, 相当于这是两个世界的对象, 当然datatable中的数据不能直接为sql语句使用.
可以使用临时表, 先将datatable中的数据插入到临时表中, 然后在sql语句中使用此临时表中的数据进行更新.
请问, 实现了吗?
可以使用临时表, 先将datatable中的数据插入到临时表中, 然后在sql语句中使用此临时表中的数据进行更新.
请问, 实现了吗?
全部回答
- 1楼网友:duile
- 2021-03-01 21:21
datatable dt = new datatable("table1");
dt.columns.addrange(new datacolumn[] { new datacolumn("column0"), new datacolumn("column1"), new datacolumn("column2"), new datacolumn("column3") });
for (int j = 0; j < 10; j++)
{
dt.rows.add(j, j, j, j);
}
string header = string.empty;
string query = string.empty;
header = "insert into [" + dt.tablename + "] (";
foreach (datacolumn item in dt.columns)
{
header += "[" + item.columnname + "],";
}
header = header.remove(header.length - 1) + ") values (";
for (int i = 0; i < dt.rows.count; i++)
{
string values = string.empty;
for (int j = 0; j < dt.columns.count; j++)
{
values += "'"+dt.rows[i][j].tostring() + "',";
}
query += header + values.remove(values.length - 1) + ")\n";
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯