我的表格结构如下所示
CREATE TABLE MCARE_HOUSE_DETAILS (
HOUSE_DTL_ID VARCHAR(20) NOT NULL,
HOUSE_SRV_DTL_ID VARCHAR(20) NULL,
WARD_ID VARCHAR(20) NOT NULL,
HOUSE_NO VARCHAR(50) NOT NULL,
HOUSE_NAME VARCHAR(50),
ADDRESS VARCHAR(300),
HOUSE_TYPE VARCHAR(20) ,
ELECTRICITY CHAR(1),
LATRINE_TYPE VARCHAR(20) ,
WATER_SOURCE VARCHAR(20) ,
WATER_STORAGE_FACILITY INTEGER,
WASTE_DISPOSAL_SOLID VARCHAR(20) ,
WASTE_DISPOSAL_LIQUID VARCHAR(20) ,
SURVEY_DATE CHAR(10),
CREATED_USER_ID VARCHAR(20) ,
CREATED_DATE CHAR(19),
MODIFIED_USER_ID VARCHAR(20) ,
MODIFIED_DATE CHAR(19),
UPLOAD_STATUS CHAR(1),
INSTITUTION_ID VARCHAR(10),
NEW_WARD_ID VARCHAR(20) ,
NEW_HOUSE_NO VARCHAR(50),
UNIQUE_HOUSE_NO VARCHAR(50),
PRIMARY KEY (HOUSE_DTL_ID))
插入查询块如下
openDB=DBConnection.getInstance(context).openDataBase();
SQLiteStatement statement = openDB.compileStatement("INSERT INTO MCARE_HOUSE_DETAILS (HOUSE_DTL_ID,WARD_ID,HOUSE_NO) VALUES(?,?,?);");
statement.bindString(1,houseId);
statement.bindString(1,wardId);
statement.bindString(2,houseNumber);
statement.executeInsert();
,插入的值为houseId = bp,wardId = 199,houseNumber = Test
我在插入时遇到以下错误
:android.database.sqlite.SQLiteConstraintException:错误代码19:约束失败
我无法在此表格中插入任何一行
Plz帮助。
答案 0 :(得分:2)
这是因为您将HOUSE_NO
设置为“”。您的语句不绑定参数#3。
statement.bindString(1,houseId);
statement.bindString(1,wardId);
statement.bindString(2,houseNumber);
试试这个:
statement.bindString(1,houseId);
statement.bindString(2,wardId);
statement.bindString(3,houseNumber);
答案 1 :(得分:0)
最好使用ContentValues。它很容易在android中使用。
ContentValues values = new ContentValues();
values.put(Database_COLUMN_NAME, "VALUE");
SQLiteDatabase database;
database.insert(Database_TABLE_NAME, "",values);
它对你有所帮助。
由于