表没有名为的列 [英] Table has no column named

查看:99
本文介绍了表没有名为的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不断收到此表没有命名为列的错误错误,我在这里看到的解决方案很少,但没有一个对我有帮助。我确实看到我应该去设置/应用程序并清除数据,但是在设置时找不到它,所以希望在这里找到答案。

I keep getting this "Table has no column named" error, I saw few solutions here, but none of them helped me. I did see that I should go to settings/apps and clear data but I couldnt find it on setting, so I hope I'll find answer here.

package com.bengu.bvb;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import static com.bengu.bvb.TableData.*;

public class  DataBaseOperation extends SQLiteOpenHelper {
public static final int database_version=1;
public String CREATE_QUERY="CREATE TABLE "+ TableInfo.TABLE_NAME+"("+TableInfo.PLAYER_NAME+" TEXT,"+ TableInfo.PLAYER_Family+" TEXT);";
public DataBaseOperation(Context context) {
    super(context, TableInfo.DATABASE_NAME, null, database_version);
    Log.d("Database operations","Database created");
}

@Override
public void onCreate(SQLiteDatabase sdb) {
    sdb.execSQL(CREATE_QUERY);
    Log.d("Database operations", "Table created");
}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

}
public void putInformation(DataBaseOperation dop,String name,String family)
{
    SQLiteDatabase SQ =dop.getWritableDatabase();
    ContentValues cv=new ContentValues();

    cv.put(TableInfo.PLAYER_Family, family);
    long k= SQ.insert(TableInfo.TABLE_NAME, null,cv);
    Log.d("Database operations", "One raw inserted");

}


package com.bengu.bvb;

public class TableData {
public TableData()
{

}
public static abstract class TableInfo implements BaseColumns
{
    public static final String  PLAYER_NAME="player_name";
    public static final String  PLAYER_Family="last_name";
    public static final String  DATABASE_NAME="player_info";
    public static final String  TABLE_NAME="reg_info";
}

现在我没有得到这个错误,我得到了另一个错误。

now I dont get this error i get another error.

 java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
        at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:14673)
        at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2473)
        at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:688)
        at android.content.ContentProvider$Transport.call(ContentProvider.java:325)
        at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:275)
        at android.os.Binder.execTransact(Binder.java:404)
        at dalvik.system.NativeStart.run(Native Method)

这是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="22" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission
    android:name="android.permission.READ_PHONE_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Main2Activity"
        android:label="@string/title_activity_main2" >
    </activity>
    <activity
        android:name=".Menu"
        android:label="@string/title_activity_menu" >
    </activity>
    <activity
        android:name=".MainApp"
        android:label="@string/title_activity_main_app" >
    </activity>
    <activity
        android:name=".AddScreen"
        android:label="@string/title_activity_add_screen" >
    </activity>

</application>

推荐答案

您缺少 _id 列。
更改

You are missing _id column. Change

 "CREATE TABLE "+ TableInfo.TABLE_NAME+"("+TableInfo.PLAYER_NAME+" TEXT,"+ TableInfo.PLAYER_Family+" TEXT);";

 "CREATE TABLE "+ TableInfo.TABLE_NAME+"(_id INTEGER PRIMARY KEY AUTOINCREMENT, "+TableInfo.PLAYER_NAME+" TEXT,"+ TableInfo.PLAYER_Family+" TEXT);";

这篇关于表没有名为的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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