如何解决此错误表名拒绝列表中不存在名为number的列 [英] How do I resolve this error no column named number exists in table rejectedlist

查看:57
本文介绍了如何解决此错误表名拒绝列表中不存在名为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆