【发布时间】:2011-05-16 23:30:57
【问题描述】:
朋友们,
我写了以下似乎是错误的 sqlite 插入语句。 在插入行之前,我正在检查记录是否存在然后不插入(ATM 数据超过 600 条记录)
已达到数据库的已编译 sql 语句缓存的最大大小。缓存中没有此 sql 语句的空间。从 atm 中选择 1,atmid=251 请更改您的 sql 语句以使用“?”对于绑定参数,而不是
public void addAtm(ATM atm)
{
db.execSQL("INSERT INTO " + AtmsTable.NAME +
"(" +AtmsTable.COL_ID + ","
+AtmsTable.COL_BankID +","
+ AtmsTable.COL_BankNAME+","
+ AtmsTable.COL_BankPhone+","
+ AtmsTable.COL_BankAddress+","
+ AtmsTable.COL_BankCoordinates+","
+ AtmsTable.COL_BankCity+","
+ AtmsTable.COL_BankWebaddress+") Values ("
+atm.getAtmID()+","
+atm.getBankID()
+ ",'" + atm.getBankName().trim()
+"','" + atm.getPhone()
+"','" + atm.getAddress()
+"','" + atm.getCoordinates()
+"','" + atm.getCity()
+"','" + atm.getWebAddress()+ "');");
}
和
public boolean atmExists(int atmId)
{
OpenIfNotOpened();
Cursor cursor = db.rawQuery("select 1 from " + AtmsTable.NAME +" where " + AtmsTable.COL_ID + "=" + atmId,null);
boolean exists = (cursor.getCount() > 0);
cursor.close();
return exists;
}
我收到以下错误消息
任何帮助将不胜感激。
【问题讨论】: