使用sqlite保存数据返回主键
/// <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 = 0; if (SQLString.IndexOf("insert") != -1) 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);//返回主键