0

特定の YouTube ビデオに関連する json ファイルから情報を取得し、必要な情報をデータベースに保存するコードを作成しました。

json ファイルからの解析は問題ありません。私が抱えている唯一の問題は、データベースにテーブルを作成することです。何が問題なのかわからないので困っています。

完全なスタック トレースは次のとおりです。

07-30 12:50:31.933: E/Database(539): 「tableYOUTUBE_database の作成 (video_Name テキストが null ではない、video_Descrption テキストが null ではない、video_Img テキストが null ではない、 video_Url テキストが null ではない、video_CountView 整数、video_LIKES 整数、video_CommentCount 整数) '.

そして、ここに私のデータベースコードがあります:

package com.example.tstnetconnwithjson.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class youtube_db extends SQLiteOpenHelper {


    public static final String dataBase_NAME="YOUTUBE_database";
    private static final  int dataBase_VERSION=1;
    private static final  String dataBase_TABLE="youtube_VIDEOS";
    public static final String[] COLS_List={"video_Name","video_Descrption","video_Img","video_Url","video_CountView","video_LIKES","video_CommentCount"};

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //end of declaring attributes and tables conents
    public youtube_db(Context context) {
        super(context,dataBase_NAME, null, dataBase_VERSION);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(
            "create table" + dataBase_NAME + "(" + COLS_List[0] +" text not null , "+ COLS_List[1]
                +" text not null , "+ COLS_List[2]+" text not null , "+COLS_List[3]+" text not null , "+COLS_List[4]+" integer , "+COLS_List[5]
                +" integer , "+COLS_List[6]+" integer ) ");             


    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        Log.i("in the upgrade", "ok");

    }

}

そして、これが私のデータベースに情報を挿入する関数です:

package com.example.tstnetconnwithjson.db;

import com.example.tstnetconnwithjson.tables.videos;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class youtubeDataBaseManager {

    SQLiteDatabase SQL_db;
    youtube_db my_Database;


    public youtubeDataBaseManager(Context c){

        my_Database=new youtube_db(c);
        SQL_db= my_Database.getWritableDatabase();

    }//end of costructor

    public long insert_Youtube_Info( videos video){
        ContentValues contentValues = new ContentValues(); 

        contentValues.put(youtube_db.COLS_List[0], video.getVideoname());
        contentValues.put(youtube_db.COLS_List[1], video.getDecscrption());
        contentValues.put(youtube_db.COLS_List[2], video.getImageurl());
        contentValues.put(youtube_db.COLS_List[3], video.getVediourl());
        contentValues.put(youtube_db.COLS_List[4], "not set yet");
        contentValues.put(youtube_db.COLS_List[5], "not set yet");
        contentValues.put(youtube_db.COLS_List[6], "not set yet");

        long addResult ;
        addResult= SQL_db.insert(youtube_db.dataBase_TABLE, null, contentValues); 


        if(addResult==-1)
        {
            Log.i("add video", "add error....  ");

        }
        else
        {
            Log.i("add video", "add:ok....  ");
        }
        return  addResult;



    }

何が問題なのか誰にも教えてもらえますか?

4

1 に答える 1

1

CREATE TABLE と YOUTUBE の間にスペースを入れる

 db.execSQL( 
        "create table " + dataBase_NAME + "(" + COLS_List[0] +" text not null , "+ COLS_List[1]
            +" text not null , "+ COLS_List[2]+" text not null , "+COLS_List[3]+" text not null , "+COLS_List[4]+" integer , "+COLS_List[5]
            +" integer , "+COLS_List[6]+" integer ) ");  
于 2013-07-30T13:05:06.633 に答える