2017-01-03 11 views
0

SqlLiteデータベースに3つのテーブルを作成したいとします。Sqliteの複数のテーブル

第1のテーブル(databaset_table)は正常に作成され、正常に動作します。

2テーブル(databaset_table_bedehkara n)および第3テーブル(moshtarian_table)が作成されません。

最新バージョンに更新されましたが、それでもわかりません。

グローバル変数として
package com.example.projectt; 
import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.SQLException; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
public class MainDataBase{ 
database_p m,mx; 
public MainDataBase(Context context) { 
    m=new database_p(context); 
} 
public Cursor GetAllData(){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    Cursor res=db.rawQuery("select * from "+ database_p.Table_name,null); 
    return res; 
} 
public Cursor GetAllDatax(){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    Cursor res=db.rawQuery("select * from "+ database_p.Table_name2,null); 
    return res; 
} 
public Cursor GetAllData_table3(){ 
    SQLiteDatabase db=mx.getReadableDatabase(); 
    Cursor res=db.rawQuery("select * from "+ database_p.Table3_name,null); 
    return res; 
} 
//Select * from clients where Concat(field1, '', field2, '', fieldn) like "%Mary%" 
public Cursor SearchData(String id){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    //Cursor res=db.rawQuery("select * from "+ database_p.Table_name +" where namex like %milad%",null); 
    //String id1='%'+id+'%'; 
    Cursor res=db.rawQuery("select * from "+ database_p.Table_name +" where namex = ? or datex = ? or costx = ? or chekserialx = ? or accountnumberx = ? or bankx = ?",new String[] { id,id,id,id,id,id }); 
    //Cursor res=db.rawQuery("select * from "+ database_p.Table_name +" where concat(namex, '', datex, '', costx, '', chekserialx, '', accountnumberx, '', bankx) like %milad% " , null); 
    return res; 
} 
public Cursor SearchDatax(String id){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    //Cursor res=db.rawQuery("select * from "+ database_p.Table_namex +" where namex like %milad%",null); 
    //String id1='%'+id+'%'; 
    //Cursor res=db.rawQuery("select * from "+ database_p.Table_name +" where namex = ? or datex = ? or costx = ? or chekserialx = ? or accountnumberx = ? or bankx = ?",new String[] { id,id,id,id,id,id }); 
    //Cursor res=db.rawQuery("select * from "+ database_p.Table_name +" where concat(namex, '', datex, '', costx, '', chekserialx, '', accountnumberx, '', bankx) like %milad% " , null); 
    Cursor res=db.rawQuery("select * from "+ database_p.Table_name2 +" where namexx = ? or costxx = ? or datexx = ?",new String[] { id,id,id }); 
    return res; 
} 
public boolean UpdateData(String name2,String date2,String cost2,String chekserial2,String accountnumber2,String bank2){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    ContentValues contentValues=new ContentValues(); 
    contentValues.put(database_p.UID, name2); 
    contentValues.put(database_p.Col1, date2); 
    contentValues.put(database_p.Col2, cost2); 
    contentValues.put(database_p.Col3, chekserial2); 
    contentValues.put(database_p.Col4, accountnumber2); 
    contentValues.put(database_p.Col5, bank2); 
    db.update(database_p.Table_name,contentValues,"namex = ?",new String[] { name2 }); 
    return true; 
} 
public boolean UpdateDatax(String name2,String cost2,String date2){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    ContentValues contentValues=new ContentValues(); 
    contentValues.put(database_p.UID2, name2); 
    contentValues.put(database_p.Colx1, date2); 
    contentValues.put(database_p.Colx2, cost2);; 
    db.update(database_p.Table_name2,contentValues,"namex2 = ?",new String[] { name2 }); 
    return true; 
} 
public Integer DeleteData(String id1){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    return db.delete(database_p.Table_name,"namex =?",new String[] {id1}); 
} 
public Integer DeleteDatax(String id1){ 
    SQLiteDatabase db=m.getReadableDatabase(); 
    return db.delete(database_p.Table_name2,"namex2 =?",new String[] {id1}); 
} 
public long InsertData(String name3,String date3,String cost3,String chekserial3,String accountnumber3,String bank3){ 
    SQLiteDatabase db=m.getWritableDatabase(); 
    ContentValues contentValues=new ContentValues();; 
    contentValues.put(database_p.UID, name3); 
    contentValues.put(database_p.Col1, date3); 
    contentValues.put(database_p.Col2, cost3); 
    contentValues.put(database_p.Col3, chekserial3); 
    contentValues.put(database_p.Col4, accountnumber3); 
    contentValues.put(database_p.Col5, bank3); 
    Long result=db.insert(database_p.Table_name,null,contentValues); 
    return result; 
    } 
public long InsertDatax(String name3,String cost3,String date3){ 
    SQLiteDatabase db=m.getWritableDatabase(); 
    ContentValues contentValues=new ContentValues();; 
    contentValues.put(database_p.UID2, name3); 
    contentValues.put(database_p.Colx1, cost3); 
    contentValues.put(database_p.Colx2, date3); 
    Long result=db.insert(database_p.Table_name2,null,contentValues); 
    return result; 
    } 

DataBaseHelper

public class database_p extends SQLiteOpenHelper{ 
public static final String Database_name="database"; 
public static final String Table_name="databaset_table"; 
public static final String Table_name2="databaset_table_bedehkaran"; 
public static final String Table3_name="moshtarian_table"; 
public static final String UID="namex"; 
public static final String Col1="datex"; 
public static final String Col2="costx"; 
public static final String Col3="chekserialx"; 
public static final String Col4="accountnumberx"; 
public static final String Col5="bankx"; 
public static final String UID2="namex2"; 
public static final String Colx1="costx2"; 
public static final String Colx2="datex2"; 
public static final String T3_UID="name_m"; 
public static final String T3_Col1="email_m"; 
public static final String T3_Col2="telnum_m"; 
public static final String T3_Col3="phonenum_m"; 
public static final String T3_Col4="address_m"; 
private Context context; 
public database_p(Context context) { 
    super(context, Database_name,null, 5); 
    this.context=context; 
    // TODO Auto-generated constructor stub 
} 
@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    try{ 
db.execSQL("CREATE TABLE "+Table_name+"(namex TEXT PRIMARY KEY,datex TEXT,costx TEXT,chekserialx TEXT,accountnumberx TEXT,bankx TEXT)"); 
db.execSQL("CREATE TABLE "+Table_name2+"(namex2 TEXT PRIMARY KEY,costx2 TEXT,datex2 TEXT)"); 
db.execSQL("CREATE TABLE "+Table3_name+"(name_m TEXT PRIMARY KEY,email_m TEXT,telnum_m INTEGER,phonenum_m INTEGER,address_m TEXT)"); 
    }catch(SQLException e){ 
    Message.message(context,""+e); 
} 
} 
@Override 
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { 
    // TODO Auto-generated method stub 
    try{ 
    db.execSQL("DROP TABLE IF EXISTS "+Table_name); 
    db.execSQL("DROP TABLE IF EXISTS "+Table_name2); 
    db.execSQL("DROP TABLE IF EXISTS "+Table3_name); 
    onCreate(db); 
    }catch(SQLException e){ 
     Message.message(context,""+e); 
    } 
    } 
    } 
} 
+0

ような文字列でクエリを置くようにしてください、そのチェックをしながら文字列を実行するあなたのlo gcat。 – FiN

答えて

0

、このコードを書く:

private static final String CREATE_TABLE_NAME = "CREATE TABLE " + Table_name + "(" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COL1 + " TEXT," + COL2 + " TEXT," + COL3 + " TEXT" + ")"; 

private static final String CREATE_ TABLE_NAME_2 = "CREATE TABLE " + Table_name2 + "(" + UID + " TEXT PRIMARY KEY," + COL4 + " TEXT," + COL5 + " TEXT," + COL6 + " TEXT" + ")"; 

編集あなたのonCreateこの

@Override 
public void onCreate(SQLiteDatabase sqLiteDatabase) { 
    sqLiteDatabase.execSQL(CREATE_TABLE_NAME); 
} 
+0

しかし、そのように私は最初のテーブルの作品を書いた! – YungAstronaut

+0

@YungAstronautは私の編集を参照してください –

関連する問題