Android SQlite数据库我得到了这个错误:E/SQLiteLog:(1)表tbl_Individual_Registration没有名为Long2的列
以下是我的列代码:Android SQlite数据库我得到了这个错误:E/SQLiteLog:(1)表tbl_Individual_Registration没有名为Long2的列,android,Android,以下是我的列代码: public static final int DATABASE_VERSION = 3; public static final String DATABASE_NAME = "BLOOD_PROJECT"; public static final String TABLE_NAME = "tbl_Individual_Donor_Registration"; public static final String TABLE_NAME_BLOOD_BANK = "tbl_B
public static final int DATABASE_VERSION = 3;
public static final String DATABASE_NAME = "BLOOD_PROJECT";
public static final String TABLE_NAME = "tbl_Individual_Donor_Registration";
public static final String TABLE_NAME_BLOOD_BANK = "tbl_Blood_Bank_Registration";
public static final String COL_1 = "Id";
public static final String COL_2 = "Name";
public static final String COL_3 = "Password";
public static final String COL_4 = "BloodGroup";
public static final String COL_5 = "BloodQuantity";
public static final String COL_6 = "MobileNo";
public static final String COL_7 = "Address";
public static final String COL_8 = "Lat2";
public static final String COL_9 = "Long2";
public static final String COL_10 = "Id";
public static final String COL_11 = "Name";
public static final String COL_12 = "Password";
public static final String COL_13 = "MobileNo";
public static final String COL_14 = "Lat2";
public static final String COL_15 = "Long2";
创建表的代码如下所示:
String CREATE_TABLE_Individual_Donor_Registration = "CREATE TABLE " + TABLE_NAME + "(" + COL_1 + " INTEGER PRIMARY KEY, " + COL_2 + " TEXT, " + COL_3 + " TEXT, " + COL_4 + " TEXT, "+ COL_5 + " TEXT, " + COL_6 + " TEXT, " + COL_14 + " TEXT, " + COL_15 + " TEXT" + ")";
db.execSQL(CREATE_TABLE_Individual_Donor_Registration);
要将数据插入数据库,请执行以下操作:
public boolean addUser(IndiviualUser user)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COL_2,user.getName());
cv.put(COL_3,user.getPassword());
cv.put(COL_4,user.getBlood_Group());
cv.put(COL_5,user.getBlood_Quantity());
cv.put(COL_6,user.getMobile_No());
cv.put(COL_14,user.getLat2());
cv.put(COL_15,user.getLong2());
long result = db.insert(TABLE_NAME,null, cv);
Log.d("ID","DataInserted SuccessFully.");
db.close();
if(result == -1)
{
return false;
}
else
{
return true;
}
}
我还尝试了以下解决方案:看起来您稍后在数据库中添加了Long2列。我将执行以下操作之一:
onUpdate
方法中删除并重新创建tbl\u个人\u捐赠者注册表,并在更改模式时增加db版本
谢谢你,先生,你的解决方案成功了。但是我在Select查询代码中遇到了另一个与数据库相关的问题:String Select=“Select*FROM”+TABLE\u NAME+,其中“+COL\u 4+”=”+final\u blood\u group;我遇到了这个问题:android.database.sqlite.SQLiteException:near“+”:语法错误(代码1):,编译时:SELECT*FROM tbl_Individual_provider_Registration其中BloodGroup=B+B+来自用户我想按血型显示结果。我希望你能帮助我。谢谢。@t电话我对这件事不是很确定,也许你可以发布另一个问题,并征求更有经验的数据库人员的反馈。我认为您需要将
+
转换为ASCII或UTF8,并以同样的方式检索它们。如果答案有帮助,不要忘记接受并投票,这样其他成员也可以从你的问题中受益。