2012-04-02 8 views
0

これはおそらく本当に簡単な答えですが、何らかの理由で誰もそれを正しく行う方法を説明していないので、私はテーブルデータベースをSQLiteで作成しましたが、今ではデータを入力したいと考えています...SQLiteテーブルが作成され、データの入力方法は?

例えば、このような何か、実際には、まさにこの:

CREATE TABLE `schedule` (
    `id_route` int(11) NOT NULL, 
    `id_stop` int(11) NOT NULL, 
    `time` time NOT NULL, 
    `days` varchar(25) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

INSERT INTO `schedule` (`id_route`, `id_stop`, `time`, `days`) VALUES 
(1, 1, '05:00:00', 'all'), 
(1, 1, '06:00:00', 'all'), 
(1, 1, '09:35:00', 'all but weekdays'), 
(1, 2, '07:00:00', 'all'), 

どのようにアンドロイドSQLでこれを行うのですか?

public what definition?(){ 
ContentValues values3 = new ContentValues(); 
       values3.put(id_route, id_stop, "07.29", "day1"); 
       values3.put(id_route, id_stop, "07.41", "day1"); 
       values3.put(id_route, id_stop, "08.05", "day1"); 
       values3.put(id_route, id_stop, "08.12", "day1"); 
       values3.put(id_route, id_stop, "08.18", "day1"); 
       long id3 = db.insert(schedule table, null, values3); 
return? 
} 

答えて

2
public void addContact() { 
    SQLiteDatabase db = this.getWritableDatabase();  
    ContentValues values = new ContentValues(); 
    values3.put(id_route, id_stop, "07.29", "day1"); 
      values3.put(id_route, id_stop, "07.41", "day1");    
    db.insert(TABLE_MENU, null, values); 
    db.close(); // Closing database connection 
} 
+0

:型ContentValuesのメソッドPUT(文字列、文字列)の引数には適用されません(文字列、整数、文字列) – BoneStarr

+1

あなたのエラーはあなたの問題を教えて..パラメータの数を確認渡された型も同様です... –

2

ContentValues.putの構文は、キーはフィールド名ですプット(キー、値)のようなものです。 だから、あなたは、このようにデータを挿入する必要があります

ContentValues cv = new ContentValues(); 
cv.put("id_route", 1); 
cv.put("days", "day1"); 
db.insert("table1", null, cv); 

あなたが作成し、テーブルに値を追加するために、このコードを試してみてくださいContentValues here

3

について読むことができます。私はここでテーブルを作成し、テーブルに値を追加するだけです。私はこのエラーを取得する

Context context; 
private SQLiteDatabase db;  
private final String DB_NAME = "database_name"; 
private final int DB_VERSION = 1; 

private final String TABLE_NAME = "database_table"; 
private final String TABLE_ROW_ID = "id"; 
private final String TABLE_ROW_ONE = "table_row_one"; 
private final String TABLE_ROW_TWO = "table_row_two"; 

public DatabaseHelper(Context context) 
{ 
    this.context = context; 

    CustomSQLiteOpenHelper helper = new CustomSQLiteOpenHelper(context); 
    this.db = helper.getWritableDatabase(); 
} 





public void addRow(String rowStringOne, String rowStringTwo) 
{ 

    ContentValues values = new ContentValues(); 
    values.put(TABLE_ROW_ONE, rowStringOne); 
    values.put(TABLE_ROW_TWO, rowStringTwo); 


    try{db.insert(TABLE_NAME, null, values);} 
    catch(Exception e) 
    { 
     Log.e("DB ERROR", e.toString()); 
     e.printStackTrace(); 
    } 
} 
+0

この例ではvalues.put()に2つ以上の値を入れることはできますか? – BoneStarr

+0

いいえ、不可能です。 values.put(TABLE_ROW_ONE、 "one" + "Two")のように連結を行うことができます。 – wolverine

+0

私は、このことを正しく理解していないのですが、残念ですが、これは行と見なされると思っています:values3.put(id_route、id_stop、 "07.29"、 "day1");カラムは対応するテーブルになります。db.insert(TABLE_MENU、null、values); この場合、2つ以上のパラメータが同じ行にあることを確認するにはどうすればよいですか? – BoneStarr

関連する問題