如何使用OleDbCommand限制执行单​​个SQL查询

时间:2017-09-04 14:47:23

标签: c# sqlcommand oledbcommand executenonquery isqlquery

我试图在单个查询中提供多次插入或更新,例如

  

OleDbCommand command = new OleDbCommand(“INSERT INTO Employee(Id,   名称,地址,薪水)VALUES(2001,'name1','address1',   100000); UPDATE Employee SET Salary = 2000000 WHERE Id = 2001;“);

这成功执行。

但我不希望在单次执行中出现多个SQL查询。在C#中是否有类似任何属性或类似内容的东西可以用来限制只有一个查询。

我想在单次执行中将其限制为单个sql查询。

感谢。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

创建值的字符串构建器

StringBuilder sb = new StringBuilder();
string sep = "";
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
sb.AppendFormat("value1","value2" etc);
 }  
string insertthis = sb.ToString();

然后插入到sql

using (OleDbCommand cmd = new OleDbCommand("INSERT INTO Employee (ItemName) VALUES (@ins)", con))
  {
  cmd.Parameters.AddWithValue("@ins", insertthis );
  cmd.ExecuteNonQuery();
  }
MessageBox.Show("Data added");

更新也与插入

相同

Ref