在批量插入语句后,动态查询当前最大的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();
}
}