我已经尽可能地浏览了SO。 我希望我的表创建中没有语法错误,如我在类似问题的答案中所提到的那样。
请帮我解决这个问题。
未创建所需的列。 这是我得到的信息。
public class ProjectConstants { public static final String myDbName = "ContactsDatabase.db"; public static final String myTableName = "ContactDetails"; public static final String nameColumn = "ContactName"; public static final String numberColumn = "ContactNumber"; }E / SQLiteLog:(1)表ContactDetails没有名为ContactNumber的列
E / SQLiteDatabase:插入ContactNumber时出错= 9655279648 ContactName = Ganesh R.
android.database.sqlite.SQLiteException:table ContactDetails没有名为ContactNumber(code 1)的列:,编译时:INSERT INTO ContactDetails(ContactNumber,ContactName)VALUES(?,?)
我有一个像上面这样的单独的类来存储整个项目中访问的常量值。
public class DBHelper extends SQLiteOpenHelper { private static final String SQLCreateEntries = "CREATE TABLE " + ProjectConstants.myTableName + " (" + ProjectConstants.nameColumn + ProjectConstants.numberColumn + " )"; private static final String SQLDeleteEntries = "DROP TABLE IF EXISTS " + ProjectConstants.myTableName; public DBHelper(Context context) { super(context, String.valueOf(name), null, version); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(SQLCreateEntries); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL(SQLDeleteEntries); onCreate(sqLiteDatabase); } public void addContact(String nameLabel, String numberLabel) { SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(ProjectConstants.nameColumn, nameLabel); contentValues.put(ProjectConstants.numberColumn, numberLabel); sqLiteDatabase.insert(ProjectConstants.myTableName, null, contentValues); } }I have surfed through SO to the best possible extent. I hope there is no Syntax error in my table creation as mentioned in the answers to the similar questions as of mine.
Please help me resolve this.
The desired column is not getting created. This is the message am getting.
public class ProjectConstants { public static final String myDbName = "ContactsDatabase.db"; public static final String myTableName = "ContactDetails"; public static final String nameColumn = "ContactName"; public static final String numberColumn = "ContactNumber"; }E/SQLiteLog: (1) table ContactDetails has no column named ContactNumber
E/SQLiteDatabase: Error inserting ContactNumber=9655279648 ContactName=Ganesh R
android.database.sqlite.SQLiteException: table ContactDetails has no column named ContactNumber (code 1): , while compiling: INSERT INTO ContactDetails(ContactNumber,ContactName) VALUES (?,?)
I have a separate class like above to store the values of constants that are accessed throughout the project.
public class DBHelper extends SQLiteOpenHelper { private static final String SQLCreateEntries = "CREATE TABLE " + ProjectConstants.myTableName + " (" + ProjectConstants.nameColumn + ProjectConstants.numberColumn + " )"; private static final String SQLDeleteEntries = "DROP TABLE IF EXISTS " + ProjectConstants.myTableName; public DBHelper(Context context) { super(context, String.valueOf(name), null, version); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(SQLCreateEntries); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL(SQLDeleteEntries); onCreate(sqLiteDatabase); } public void addContact(String nameLabel, String numberLabel) { SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(ProjectConstants.nameColumn, nameLabel); contentValues.put(ProjectConstants.numberColumn, numberLabel); sqLiteDatabase.insert(ProjectConstants.myTableName, null, contentValues); } }最满意答案
你创建了表
"CREATE TABLE " + ProjectConstants.myTableName + " (" + ProjectConstants.nameColumn + ProjectConstants.numberColumn + " )"Create query的语法是
"CREATE TABLE MYTABLENAME (MYCOLUMNNAME MYCOLUMNTYPE, MYSECONDCOLUMNNAME MYSECONDCOLUMNTYPE,...)"在您的Create query您缺少types和commas ,修复它,程序将工作:)
You created the table with
"CREATE TABLE " + ProjectConstants.myTableName + " (" + ProjectConstants.nameColumn + ProjectConstants.numberColumn + " )"the syntax for Create query is
"CREATE TABLE MYTABLENAME (MYCOLUMNNAME MYCOLUMNTYPE, MYSECONDCOLUMNNAME MYSECONDCOLUMNTYPE,...)"In your Create query you are missing both types and commas, fix it and the program will work :)
更多推荐
发布评论