使用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);//返回主键

                        

 

你可能感兴趣的:(sqlite)