如何解决此错误表名拒绝列表中不存在名为number的列 [英] How do I resolve this error no column named number exists in table rejectedlist
本文介绍了如何解决此错误表名拒绝列表中不存在名为number的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到此错误
android.database.sqlite.SQLiteException:表RejectList没有名为Number的列(代码1):,编译时:INSERT INTO RejectList (数量)价值(?)
I get this error
android.database.sqlite.SQLiteException: table RejectList has no column named Number (code 1): , while compiling: INSERT INTO RejectList(Number) VALUES (?)
package com.amarcade.applicada.kamiproject;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Mansoor on 17/03/2016.
*/
public class MyDBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_Name = "Kami.db";
public static final String TABLE_RejectList = "RejectList";
public static final String COLUMN_NUMBER = "Number";
public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_Name, factory, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE "+TABLE_RejectList+"("+
COLUMN_NUMBER+"TEXT PRIMARY KEY);";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_RejectList);
onCreate(db);
}
public void addNumber(Numbers Number)
{
ContentValues values=new ContentValues();
values.put(COLUMN_NUMBER,Number.getNumber());
SQLiteDatabase db = getWritableDatabase();
db.insert(TABLE_RejectList, null, values);
db.close();
}
public void deleteNumber(String Number)
{
SQLiteDatabase db=getWritableDatabase();
db.execSQL("DELETE FROM" + TABLE_RejectList + "WHERE" + COLUMN_NUMBER + "=\"" + Number + "\";");
}
public String showNumbers()
{
SQLiteDatabase db = getWritableDatabase();
String Number = "";
String query="SELECT * FROM"+TABLE_RejectList+"WHERE"+COLUMN_NUMBER+"=\""+Number+"\";";
Cursor c = db.rawQuery(query,null);
c.moveToFirst();
while(!c.isAfterLast())
{
if(c.getString(c.getColumnIndex("Number"))!=null)
{
Number += c.getString(c.getColumnIndex("Number"));
Number += "\n";
}
}
db.close();
return Number;
}
}
我的尝试:
我检查过MydbHandler类但找不到任何解决方案。
What I have tried:
I have checked the MydbHandler class but couldn't find any solution.
推荐答案
String query = "CREATE TABLE "+TABLE_RejectList+"("+
COLUMN_NUMBER+"TEXT PRIMARY KEY);";
您忘记了 COLUMN_NUMBER
和TEXT之间的空格
,它应该是:
You forgot the space between COLUMN_NUMBER
and "TEXT"
, it should be:
String query = "CREATE TABLE "+TABLE_RejectList+"("+
COLUMN_NUMBER+" TEXT PRIMARY KEY);";
这篇关于如何解决此错误表名拒绝列表中不存在名为number的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文