使用sqlite保存数据返回主键

时间:2021-06-13 07:33:50
  /// <summary>
/// 返回insert后的主键值
/// </summary>
/// <param name="SQLString"></param>
/// <param name="para"></param>
/// <returns></returns>
public static int ExecuteSql(string SQLString, List<SQLiteParameter> para)
{
using (SQLiteConnection connection = GetSQLiteConnection())
{
using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection))
{
try
{
connection.Open();
if (para!=null)
{
foreach (SQLiteParameter p in para)
{
cmd.Parameters.Add(p);
}
}
int rows = ;
if (SQLString.IndexOf("insert") != -)
rows = Convert.ToInt32(cmd.ExecuteScalar());
else
rows = cmd.ExecuteNonQuery();
return rows;
}
catch (SQLiteException e)
{
connection.Close();
throw e;
}
}
}
}

注意:要在同一个连接下可以

    string sql = "insert into ims_tbl_HotelInfo(HotelId,HotelName,HotelTelephone,HotelAddress,Remark,KId,Vip,XId,YId,BId,CId,DId,EId,FId,HId) values('" + hotelId + "','" + hotelName + "','" + hotalTelephone + "','" + hotalAddress + "','" + hremark + "',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ')";
int result = SQLiteDBHelper.ExecuteSql(sql + ";select last_insert_rowid();", null);//返回主键