SQLite创建表查询MainActivity
sqLiteHelper.queryData("CREATE TABLE IF NOT EXISTS DETAILS(Id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, phone VARCHAR, location VARCHAR, remarks VARCHAR)");
插入数据查询SQLiteHelper.class
public void insertData(String name, String phone, String location,String remarks)
{
SQLiteDatabase database = getWritableDatabase();
String sql = "INSERT INTO DETAILS VALUES (NULL,?, ?, ?, ?)";
SQLiteStatement statement = database.compileStatement(sql);
statement.clearBindings();
statement.bindString(1, name);
statement.bindString(2, phone);
statement.bindString(3, location);
statement.bindString(4, remarks);
statement.executeInsert();
}
OnClick Save MainActivity.class
mSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
sqLiteHelper.insertData(
eName.getText().toString().trim(),
ePhonenumber.getText().toString().trim(),
eLocation.getText().toString().trim(),
eRemarks.getText().toString().trim());
Toast.makeText(getApplicationContext(), "Added Successfully", Toast.LENGTH_SHORT).show();
eName.setText("");
ePhonenumber.setText("");
eLocation.setText("");
eRemarks.setText("");
}
catch(Exception e){
e.printStackTrace();
}
}
});
将数据插入表格时出错:之前当我没有添加备注列时工作正常
E/SQLiteLog: (1) table DETAILS has 4 columns but 5 values were supplied
W/System.err: android.database.sqlite.SQLiteException: table DETAILS has 4 columns but 5 values were supplied (code 1): , while compiling: INSERT INTO DETAILS VALUES (NULL,?, ?, ?, ?)
W/System.err: at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
W/System.err: at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
W/System.err: at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1070)
W/System.err: at com.example.alpha.SQLiteHelper.insertData(SQLiteHelper.java:28)
W/System.err: at com.example.alpha.MainActivity$1.onClick(MainActivity.java:61)
答案 0 :(得分:0)
编辑插入查询。
public void insertData(String name, String phone, String location,String remarks)
{
SQLiteDatabase database = getWritableDatabase();
String sql = "INSERT INTO DETAILS VALUES (?, ?, ?, ?)";
SQLiteStatement statement = database.compileStatement(sql);
statement.clearBindings();
statement.bindString(1, name);
statement.bindString(2, phone);
statement.bindString(3, location);
statement.bindString(4, remarks);
statement.executeInsert();
}