在批量插入语句后,动态查询当前最大的id,同时减少打开关闭操作。
/// <summary>
/// 多语句插入,动态获取最新id
/// </summary>
public void insertmult()
{
mysqldbctrl db = new mysqldbctrl("");
mysqldatareader dr=null;
string str_cmd = "",id="0";
string str_cmd_id="select last_insert_id() as id";
try
{
if (db.begindbaccess())
{
for (int i = 0; i < 10; i++)
{
//在未提交事务前获取当前表中的最新id,可以避免多次库连接关闭
dr = db.execute_datareader(str_cmd_id);
if (dr.read())
{
id = dr["id"].tostring();
}
dr.close();
str_cmd = "insert into test (name) values ('" + id + "')";
if (i == 9)
db.execute_nonquery(str_cmd, true);
else db.execute_nonquery(str_cmd, false);
}
}
db.enddbaccess();
}
catch (exception ex)
{
if (db != null)
db.enddbaccess();
}
}