Mysql 举例说明如何使用prepare 语句和.NET 插入行:http: //dev.mysql.com/doc/refman/5.5/en/connector-net-programming-prepared.html
它看起来像那样工作,因为在每次迭代结束时调用cmd.ExecuteNonQuery()
::
INSERT INTO VALUES()...;INSERT INTO VALUES()...;INSERT INTO VALUES()...;
可以使用这样的准备语句来完成吗:
INSERT INTO all values...
更多解释::
mysql 示例中的代码(每次迭代中的 cmd.ExecuteNonQuery() ):
MySql.Data.MySqlClient.MySqlConnection conn;
MySql.Data.MySqlClient.MySqlCommand cmd;
conn = new MySql.Data.MySqlClient.MySqlConnection();
cmd = new MySql.Data.MySqlClient.MySqlCommand();
conn.ConnectionString = strConnection;
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Prepare();
cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");
for (int i=1; i <= 1000; i++)
{
cmd.Parameters["@number"].Value = i;
cmd.Parameters["@text"].Value = "A string value";
cmd.ExecuteNonQuery();
}
}
*我想要的代码(cmd.ExecuteNonQuery();
在所有迭代之后):*
MySql.Data.MySqlClient.MySqlConnection conn;
MySql.Data.MySqlClient.MySqlCommand cmd;
conn = new MySql.Data.MySqlClient.MySqlConnection();
cmd = new MySql.Data.MySqlClient.MySqlCommand();
conn.ConnectionString = strConnection;
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Prepare();
cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");
for (int i=1; i <= 1000; i++)
{
cmd.Parameters["@number"].Value = i;
cmd.Parameters["@text"].Value = "A string value";
}
cmd.ExecuteNonQuery();
}