Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在android中的Sqlite数据库中保存数据?_Android_Sqlite - Fatal编程技术网

无法在android中的Sqlite数据库中保存数据?

无法在android中的Sqlite数据库中保存数据?,android,sqlite,Android,Sqlite,我已经创建了如下DB Helper类,并且在将数据插入到表中时遇到了问题 这是我的DB助手: import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; imp

我已经创建了如下DB Helper类,并且在将数据插入到表中时遇到了问题

这是我的DB助手:

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


import java.util.ArrayList;
import java.util.List;

/**
 * Created by Admin on 2/24/2017.
 */
public class CompanyDatabaseHandler extends SQLiteOpenHelper {

    // All Static variables
    // Database Version
    private static final int DATABASE_VERSION = 5;

    // Database Name
    private static final String DATABASE_NAME = "databaseofcompany";

    // COMPANY table name
    private static final String TABLE_COMPANY = "detailsofcompany";
    // COMPANY Table Columns names
    private static final  String KEY_ID="_id";
    private static final String KEY_COMPANYNAME="_companyName";
    private static final String KEY_COMPANYURL="_companyUrl";
    private static final String KEY_COMPANYEMAIL="_companyEmail";
    private static final String KEY_COMPANYNUMMBER="_companyNumber";
    private static final String KEY_COMPANYADDRESS="_companyAddress";

    public CompanyDatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }


/*
Creating new Table
 */
    @Override
    public void onCreate(SQLiteDatabase db) {

        String CREATE_COMPANY_TABLE = "CREATE TABLE "
                + TABLE_COMPANY + "("+ KEY_ID + " INTEGER PRIMARY KEY,"+ KEY_COMPANYNAME + " TEXT,"+ KEY_COMPANYURL + " TEXT,"+ KEY_COMPANYEMAIL + " TEXT"+ KEY_COMPANYNUMMBER+" TEXT"+ KEY_COMPANYADDRESS+" TEXT"+")";
        db.execSQL(CREATE_COMPANY_TABLE);
    }
/*
Upgrading Table
 */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMPANY);

        // Create tables again
        onCreate(db);
    }

    // Adding new company
    public void addCompany(Company company) {
        SQLiteDatabase db = CompanyDatabaseHandler.this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_COMPANYNAME, company.getCompanyName());
        values.put(KEY_COMPANYURL, company.getCompanyLink());
        values.put(KEY_COMPANYEMAIL, company.getCompanyEmail());
        values.put(KEY_COMPANYNUMMBER, company.getCompanyNumber());
        values.put(KEY_COMPANYADDRESS, company.getCompanyAddress());

        // Inserting Row
        db.insert(TABLE_COMPANY, null, values);
        // Closing database connection
        db.close();
    }

    // Getting single company
    public Company getCompany(int id) {SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.query(TABLE_COMPANY,                                         //Table
                        new String[] { KEY_COMPANYNAME,KEY_COMPANYURL,KEY_COMPANYEMAIL ,KEY_COMPANYNUMMBER,KEY_COMPANYADDRESS}, //Colunms
                        KEY_ID + "=?",       //Selection KEY
                        new String[] { String.valueOf(id) },//Selection Args
                        null,                //Group By
                        null,                //Having
                        null);                //Order By


        if (cursor != null)
            cursor.moveToFirst();

        Company company=new Company(Integer.parseInt(cursor.getString(0)),cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getString(5));
        // return company
        return company;
    }

    // Getting All Company
    public List<Company> getAllCompany() {
        List<Company> companyList = new ArrayList<Company>();
        // Select All Query
        String selectQuery = "SELECT * FROM " + TABLE_COMPANY;

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                Company company = new Company();
                company.setCompanyId(Integer.parseInt(cursor.getString(0)));
                company.setCompanyName(cursor.getString(1));
                company.setCompanyLink(cursor.getString(2));
                company.setCompanyEmail(cursor.getString(3));
                company.setCompanyNumber(cursor.getString(4));
                company.setCompanyAddress(cursor.getString(5));
                // Adding company to list
                companyList.add(company);
            } while (cursor.moveToNext());
        }

        // return companyList
        return companyList;
    }

    // Getting company Count
    public int getCompanyCount() {
        String countQuery = "SELECT * FROM " + TABLE_COMPANY;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        int count=cursor.getCount();
        cursor.close();

         return count;
//        return cursor.getCount();
    }

    // Updating single Company
    public int updateCompany(Company company) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_COMPANYNAME, company.getCompanyName());
        values.put(KEY_COMPANYURL, company.getCompanyLink());
        values.put(KEY_COMPANYEMAIL, company.getCompanyEmail());
        values.put(KEY_COMPANYNUMMBER, company.getCompanyNumber());
        values.put(KEY_COMPANYADDRESS, company.getCompanyAddress());
        // updating row
        return db.update(TABLE_COMPANY, values, KEY_ID + " = ?",
                new String[] { String.valueOf(company.getCompanyId()) });
    }

    // Deleting single company
    public void deleteCompany(Company company) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_COMPANY, KEY_ID + " = ?",
                new String[] { String.valueOf(company.getCompanyId()) });
        db.close();
    }
}
我是android SQLITE实现的新手。我尝试过更新版本和更改数据库名称以及列名,但都没用


你的建议对我很有帮助。我没有弄错。

CREATE\u COMPANY\u表
字符串中缺少逗号。对于文本后缺少逗号的两列,在运行已完成更改的应用程序之前,请卸载现有应用程序

@Override
public void onCreate(SQLiteDatabase db) {

    String CREATE_COMPANY_TABLE = "CREATE TABLE "
            + TABLE_COMPANY + "("+ KEY_ID + " INTEGER PRIMARY KEY,"+ KEY_COMPANYNAME + " TEXT,"+ KEY_COMPANYURL + " TEXT,"+ KEY_COMPANYEMAIL + " TEXT,"+ KEY_COMPANYNUMMBER+" TEXT,"+ KEY_COMPANYADDRESS+" TEXT"+")";
    db.execSQL(CREATE_COMPANY_TABLE);
}

CREATE_COMPANY_表
字符串中缺少逗号。对于文本后缺少逗号的两列,在运行已完成更改的应用程序之前,请卸载现有应用程序

@Override
public void onCreate(SQLiteDatabase db) {

    String CREATE_COMPANY_TABLE = "CREATE TABLE "
            + TABLE_COMPANY + "("+ KEY_ID + " INTEGER PRIMARY KEY,"+ KEY_COMPANYNAME + " TEXT,"+ KEY_COMPANYURL + " TEXT,"+ KEY_COMPANYEMAIL + " TEXT,"+ KEY_COMPANYNUMMBER+" TEXT,"+ KEY_COMPANYADDRESS+" TEXT"+")";
    db.execSQL(CREATE_COMPANY_TABLE);
}
Tysm:-)。我应该先检查一下。我在找一个大错误,然后留下了这个。Tysm.Tysm:-)。我应该先检查一下。我在找一个大错误,然后留下了这个。泰姆。