안드로이드 개발 질문/답변
(글 수 45,052)
sql = "UPDATE dohistory set endtime = '23:11:59' where dodate = '2011-09-14' and cate_id = '2' and endtime = '' ;";
db.execSQL(sql , null );
날렸더니
09-14 19:22:24.853: ERROR/AndroidRuntime(6124): java.lang.RuntimeException: Unable to start receiver sk.ingsamo.what.WidgetStartDoProvider: java.lang.IllegalArgumentException: Empty bindArgs
에러가 뜹니다...
where 구문에 endtime = '' 을 쓸 수 없는것인지요?
값을 주면 잘 작동하는ㄷ 말에요
고수님들 도와주세요....
=============================== 내용 추가합니다.
에러 전문======================
09-14 20:14:40.588: ERROR/AndroidRuntime(273): java.lang.RuntimeException: Unable to start receiver sk.ingsamo.whatido.WidgetStartDoProvider: java.lang.IllegalArgumentException: Empty bindArgs
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2821)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.app.ActivityThread.access$3200(ActivityThread.java:125)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.os.Handler.dispatchMessage(Handler.java:99)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.os.Looper.loop(Looper.java:123)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at java.lang.reflect.Method.invokeNative(Native Method)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at java.lang.reflect.Method.invoke(Method.java:521)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at dalvik.system.NativeStart.main(Native Method)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): Caused by: java.lang.IllegalArgumentException: Empty bindArgs
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1756)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at sk.ingsamo.whatido.WidgetStartDoProvider.updateDo_fillEndtime_yesterday(WidgetStartDoProvider.java:519)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at sk.ingsamo.whatido.WidgetStartDoProvider.onReceive(WidgetStartDoProvider.java:192)
09-14 20:14:40.588: ERROR/AndroidRuntime(273): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2810)
==============================================
private static void updateDo_fillEndtime_yesterday(String cate_id, String extraSql, SQLiteDatabase db) {
String sql ="UPDATE " + DoHistory.DO_TABLE + " set "
+ " endtime = '23:59:59' "
+ " where dodate = '"+ DateToday(-1) +"'" //-1
+ " and cate_id = '"+cate_id+"' "
+ " and endtime = '' " + extraSql + ";";
db.execSQL(sql , null );
}
=============================================
DB는 아래와 같이 작성했습니다...
db.execSQL("CREATE TABLE " + DoHistory.DO_TABLE + " ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ DoHistory.CATE_ID + " INTEGER, "
+ DoHistory.DODATE + " text,"
+ DoHistory.STARTTIME + " text,"
+ DoHistory.ENDTIME + " text,"
+ ");");
=================================================
질문내용이 부족한것 같이 더 적었습니다..
고수님들 하루종일 삽질코 있습니다. 왕림바랍니다 _ _;
2011.09.15 05:24:05
-.- 실력이 없지만, 하나만 추측 해볼께요
빨간 부분 세미콜론 삭제하고 해보시겠습니까?
private static void updateDo_fillEndtime_yesterday(String cate_id, String extraSql, SQLiteDatabase db) { String sql ="UPDATE " + DoHistory.DO_TABLE + " set " + " endtime = '23:59:59' " + " where dodate = '"+ DateToday(-1) +"'" //-1 + " and cate_id = '"+cate_id+"' " + " and endtime = '' " + extraSql + ";"; db.execSQL(sql , null ); }



