我正在使用c#并尝试多次插入sql同一个查询: 这是我的代码:
SqlCommand cmd = new SqlCommand ("insert into InventoryTransTemp (name) values ('test')",con);
cmd.ExecuteNonQuery();
我怎样才能运行同样的查询示例5次?
我可以使用字符串来执行此操作吗?示例如果字符串计数= 5,则运行查询5次
答案 0 :(得分:1)
通过用逗号分隔括号括起的行数据,可以使用单个INSERT
命令插入多行。因此,您可以为要添加的行数创建循环,然后在每次迭代时将行数据值(和逗号)添加到查询字符串中:
var queryString = "INSERT INTO InventoryTransTemp ([name]) VALUES ";
var rowData = "('test')";
int numRows = 5;
for (int i = 0; i < numRows; i++)
{
queryString += rowData;
if (i < numRows - 1) queryString += ", ";
}
// At this point, query string looks like:
// "INSERT INTO InventoryTransTemp ([name]) VALUES ('test'), ('test'), ('test'), ('test'), ('test')"
SqlCommand cmd = new SqlCommand(queryString, con);
cmd.ExecuteNonQuery();
答案 1 :(得分:0)
如果要进行特定查询,可以在方法中使用。也许首先你应该搜索有多少相同的字符串计算如下:
public void run() {
SqlCommand cmd = new SqlCommand("insert into InventoryTransTemp (name) values ('test')", con);
cmd.ExecuteNonQuery();
}
public int findString() {
int i = 0;
SqlDataReader stRead = new sqlCommand("SELECT * FROM database ", con);
while (stRead.Read()) {
i++;
}
return i;
}
int i = findString();
for (int j = 0; j < i; j++) {
run();
}