Android的SQLite的游标问题在cur3 = db3.rawQuery下面是我的logcat错误和全班code。我现在面临的问题在检索的基础上比较两个表和第一pretestTable表的主键(pretest_id)数据。我不理解什么是错误的,我的SQL查询。
logcat的错误:
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):java.lang.RuntimeException的:无法启动的活动ComponentInfo {com.a1technology.remoteid / com.a1technology。 remoteid.Screening}:android.database.sqlite.SQLiteException:近WHERE:语法错误:在编制:选择tbl_ pre_test.ID AS _id,tbl_ pre_test.ddlTestingSession,tbl_ pre_test。 txtReason,tbl_ pre_test.txthowmany,tbl_ pre_test.txtques1,tbl_ pre_test.rblques2a,tbl_ pre_test.rblques2b,tbl_ pre_test.rblques3,tbl_ pre_test.txtques4, tbl_ pre_test.rblques5,tbl_ pre_test.rblques6,tbl_ pre_test.rblques7,tbl_ pre_test.rblques8,tbl_ pre_test.rblques9,tbl_ pre_test.ddlsick,tbl_ pre_test.txtques11,tbl_ pre_test.rblques12,tbl_ pre_test.txtques13,tbl_ pre_test.txtques14,tbl_ pre_test.rblques15,tbl_ pre_test.rblques16,tbl_ pre_test.rblques17,tbl_ pre_test.txtques18,tbl_ pre_test.txtVCT,其中tbl_ pre_test.ID = tbl_finger.template和tbl_ pre_test。pretest_id =?
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:928)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.os.Handler.dispatchMessage(Handler.java:99)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.os.Looper.loop(Looper.java:123)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.ActivityThread.main(ActivityThread.java:3647)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在java.lang.reflect.Method.invokeNative(本机方法)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在java.lang.reflect.Method.invoke(Method.java:507)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在dalvik.system.NativeStart.main(本机方法)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):由:android.database.sqlite.SQLiteException:近WHERE:语法错误:在编制:选择tbl_ pre_test.ID AS _id, tbl_ pre_test.ddlTestingSession,tbl_ pre_test.txtReason,tbl_ pre_test.txthowmany,tbl_ pre_test.txtques1,tbl_ pre_test.rblques2a,tbl_ pre_test.rblques2b,tbl_ pre_test.rblques3,tbl_ pre_test.txtques4,tbl_ pre_test.rblques5,tbl_ pre_test.rblques6,tbl_ pre_test.rblques7,tbl_ pre_test.rblques8,tbl_ pre_test.rblques9,tbl_ pre_test.ddlsick,tbl_ pre_test.txtques11,tbl_ pre_test.rblques12,tbl_ pre_test.txtques13,tbl_ pre_test.txtques14,tbl_ pre_test。 rblques15,tbl_ pre_test.rblques16,tbl_ pre_test.rblques17,tbl_ pre_test.txtques18,tbl_ pre_test.txtVCT,其中tbl_ pre_test.ID = tbl_finger.template和tbl_ pre_test。pretest_id =?
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteCompiledSql.native_compile(本机方法)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteCompiledSql< INIT>(SQLiteCompiledSql.java:65)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteProgram< INIT>(SQLiteProgram.java:83)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteQuery< INIT>(SQLiteQuery.java:49)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1324)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在com.a1technology.remoteid.Screening.onCreate(Screening.java:320)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
10-20 21:55:28.203:ERROR / AndroidRuntime(2192):11 ...更多
类code:
静态最后弦乐pretestTable =tbl_ pre_test;
公共静态最后弦乐ColumnID的=ID;
公共静态最后弦乐DDL_Testing_Session =ddlTestingSession;
公共静态最后弦乐Text_Reason =txtReason;
公共静态最后弦乐Text_Howmany =txthowmany;
公共静态最后弦乐Text_Ques1 =txtques1;
公共静态最后弦乐RBL_Ques2a =rblques2a;
公共静态最后弦乐RBL_Ques2b =rblques2b;
公共静态最后弦乐RBL_Ques3 =rblques3;
公共静态最后弦乐TXT_Ques4 =txtques4;
公共静态最后弦乐RBL_Ques5 =rblques5;
公共静态最后弦乐RBL_Ques6 =rblques6;
公共静态最后弦乐RBL_Ques7 =rblques7;
公共静态最后弦乐RBL_Ques8 =rblques8;
公共静态最后弦乐RBL_Ques9 =rblques9;
公共静态最后弦乐DDL_Sick =ddlsick;
公共静态最后弦乐TXT_Ques11 =txtques11;
公共静态最后弦乐RBL_Ques12 =rblques12;
公共静态最后弦乐TXT_Ques13 =txtques13;
公共静态最后弦乐TXT_Ques14 =txtques14;
公共静态最后弦乐RBL_Ques15 =rblques15;
公共静态最后弦乐RBL_Ques16 =rblques16;
公共静态最后弦乐RBL_Ques17 =rblques17;
公共静态最后弦乐TXT_Ques18 =txtques18;
公共静态最后弦乐pretest_id =pretestID;
公共静态最后弦乐TXT_Vct =txtVCT;
静态最后弦乐fingerTable =tbl_finger;
公共静态最后弦乐fingerTableColumnID =ID;
公共静态最后弦乐模板=模板;
静态布尔addrow = FALSE;
静态INT buttonCounter;
INT请求code;
私人SQLiteDatabase DB,DB1,DB2,DB3;
私人DopenHelper帮手;
字符串表名=tbl_ pre_test;
字符串TableName1 =tbl_screening;
字符串TableName2 =tbl_postscreen;
字符串TableName3 =tbl_finger;
字符串gotDataScreening1,gotDataScreening2;
私人字符串valuOfDate,textType,valueOfID,valueOfDDLTS,valueOfReason,valueOfHowmany,valueOftxtques1,valueOfrblques2a
,valueOfrblques2b,valueOfrblques3,valueOftxtques4,valueOfrblques5,valueOfrblques6,valueOfrblques7,valueOfrblques8
,valueOfrblques9,valueOfddlsick,valueOftxtques11,valueOfrblques12,valueOftxtques13,valueOftxtques14,valueOfrblques15
,valueOfrblques16,valueOfrblques17,valueOftxtques18;
//
//私人诠释mYear;
//私人诠释mMonth;
//私人诠释MDAY;
TextView的preTestView,ScreeningTextView,PostScreenTV;
私人simpleefficientadapter arrayadapter11,arrayadapter22,arrayadapter33;
ListView控件mylist1;
ListView控件mylist2;
ListView控件mylist3;
ArrayList的<字符串> prtestData;
ArrayList的<字符串> screeningData;
ArrayList的<字符串> POSTDATA;
TextView的preTextView,screeTextView,postScreenTextView;
字符串Date111,Date222,Date333;
//束束;
字符串S1;
字符串s2;
串S;
@覆盖
保护无效的onPause(){
// TODO自动生成方法存根
super.onPause();
db.close();
db1.close();
db2.close();
db3.close();
helper.close();
}
@覆盖
保护无效的onCreate(包savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
// openAndQueryDatabase();
// displayResultList();
的setContentView(R.layout.screening);
辅助=新DopenHelper(Screening.this);
DB = helper.getWritableDatabase();
DB1 = helper.getWritableDatabase();
DB2 = helper.getWritableDatabase();
DB3 = helper.getWritableDatabase();
S1 =preE-测试;
S2 =筛选;
S3 =POST画面;
//new_screening=(Button)findViewById(R.id.new_screening);
main_return =(按钮)findViewById(R.id.main_return);
mylist1 =(ListView控件)findViewById(R.id. prescreenlist);
mylist2 =(ListView控件)findViewById(R.id.screeninglist);
mylist3 =(ListView控件)findViewById(R.id.postscreenlist);
prtestData =新的ArrayList<字符串>();
screeningData =新的ArrayList<字符串>();
POSTDATA =新的ArrayList<字符串>();
最后的捆绑包= this.getIntent()getExtras()。
gotDataScreening1 = getIntent()getStringExtra(TransferedMenuData000);
gotDataScreening2 = getIntent()getStringExtra(TransferedMenuData111);
main_return.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(查看为arg0){
// TODO自动生成方法存根
意图main_return =新的意图(Screening.this,Menu.class);
startActivity(main_return);
}
});
preTextView =(TextView中)findViewById(R.id.birth_text11);
screeTextView =(TextView中)findViewById(R.id.birth_text12);
postScreenTextView =(TextView中)findViewById(R.id.birth_text13);
preTextView.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
意图newIntent =新的意图(Screening.this,NewScreening.class);
bundle.putString(FinalDataScreen1,gotDataScreening1);
bundle.putString(FinalDataScreen2,gotDataScreening2);
newIntent.putExtras(包);
startActivityForResult(newIntent,要求code);
}
});
screeTextView.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
意图simpleIntent =新的意图(Screening.this,SimpleScreening.class);
bundle.putString(FinalDataScreen1,gotDataScreening1);
bundle.putString(FinalDataScreen2,gotDataScreening2);
simpleIntent.putExtras(包);
startActivityForResult(simpleIntent,要求code);
}
});
postScreenTextView.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
意图postIntent =新的意图(Screening.this,PostScreening.class);
bundle.putString(FinalDataScreen1,gotDataScreening1);
bundle.putString(FinalDataScreen2,gotDataScreening2);
postIntent.putExtras(包);
startActivityForResult(postIntent,1);
}
});
// +++++++++++++++++++++知道SQLite数据库版本添加者穆拉利++++++++++++++++++ ++++++++++++
/ *光标光标= SQLiteDatabase.openOrCreateDatabase(:记忆:空).rawQuery(选择sqlite_version()作为sqlite_version,NULL);
{
字符串sqliteVersion =;
而(cursor.moveToNext()){
sqliteVersion + = cursor.getString(0);
Log.v(SQL版本,cursor.getString(0));
}
} cursor.close(); * /
// +++++++++++++++++ code完以上$ C $下知道的SQLite的版本++++++++++++++++ +++++++++++++++
// +++++++++++++++++++++低于code对于Retriving数据库中的数据+++++++++++++++++ +++++++++
光标CUR = db.rawQuery(选择pretestID,日期,txtVCT FROM+表名,NULL);
尝试 {
DB = this.openOrCreateDatabase(remoteid.db,MODE_PRIVATE,NULL);
如果(CUR!= NULL)
{
如果(cur.moveToFirst())
{
做 {
字符串valuOfDate = cur.getString(cur.getColumnIndex(日期));
串textType = cur.getString(cur.getColumnIndex(txtVCT));
字符串valueOfID = cur.getString(cur.getColumnIndex(pretestID));
//Toast.makeText(getApplicationContext(),valueOfID,Toast.LENGTH_SHORT).show();
prtestData.add(valuOfDate);
}而(cur.moveToNext());
}
}
}
赶上(例外五){
Log.e(错误,错误,E);
} 最后 {
如果(DB!= NULL)
db.close();
}
cur.close();
光标CUR1 = db1.rawQuery(+ TableName1,空从中选择日期);
尝试 {
DB1 = this.openOrCreateDatabase(remoteid.db,MODE_PRIVATE,NULL);
如果(CUR1!= NULL)
{
如果(cur1.moveToFirst())
{
做 {
字符串valuOfDate1 = cur1.getString(cur1.getColumnIndex(日期));
//Toast.makeText(getApplicationContext(),valueOfID,Toast.LENGTH_SHORT).show();
screeningData.add(valuOfDate1);
}而(cur1.moveToNext());
}
}
}
赶上(例外五){
Log.e(错误,错误,E);
} 最后 {
如果(DB1!= NULL)
db1.close();
}
cur1.close();
光标cur2 = db2.rawQuery(+ TableName2,空从中选择日期);
尝试 {
DB2 = this.openOrCreateDatabase(remoteid.db,MODE_PRIVATE,NULL);
如果(cur2!= NULL)
{
如果(cur2.moveToFirst())
{
做 {
字符串valuOfDate2 = cur2.getString(cur2.getColumnIndex(日期));
//Toast.makeText(getApplicationContext(),valuOfDate2,Toast.LENGTH_SHORT).show();
postData.add(valuOfDate2);
}而(cur2.moveToNext());
}
}
}
赶上(例外五){
Log.e(错误,错误,E);
} 最后 {
如果(DB2!= NULL)
db2.close();
}
cur2.close();
光标cur3 = db3.rawQuery(选择+ pretestTable +。+ + ColumnID的AS _id,+
+ pretestTable +。+ DDL_Testing_Session +,+
+ pretestTable +。+ Text_Reason +,+
+ pretestTable +。+ Text_Howmany +,+
+ pretestTable +。+ Text_Ques1 +,+
+ pretestTable +。+ RBL_Ques2a +,+
+ pretestTable +。+ RBL_Ques2b +,+
+ pretestTable +。+ RBL_Ques3 +,+
+ pretestTable +。+ TXT_Ques4 +,+
+ pretestTable +。+ RBL_Ques5 +,+
+ pretestTable +。+ RBL_Ques6 +,+
+ pretestTable +。+ RBL_Ques7 +,+
+ pretestTable +。+ RBL_Ques8 +,+
+ pretestTable +。+ RBL_Ques9 +,+
+ pretestTable +。+ DDL_Sick +,+
+ pretestTable +。+ TXT_Ques11 +,+
+ pretestTable +。+ RBL_Ques12 +,+
+ pretestTable +。+ TXT_Ques13 +,+
+ pretestTable +。+ TXT_Ques14 +,+
+ pretestTable +。+ RBL_Ques15 +,+
+ pretestTable +。+ RBL_Ques16 +,+
+ pretestTable +。+ RBL_Ques17 +,+
+ pretestTable +。+ TXT_Ques18 +,+
+ pretestTable +。+ TXT_Vct +,+WHERE+ pretestTable +。+ ColumnID的+=+ fingerTable +。+模板+和+ pretestTable +。 +pretest_id =? , 空值);
//+ pretestTable +。+ TXT_Vct +,+WHERE+ pretestTable +。+ ColumnID的+=+ fingerTable +。+模板+和+pretest_id =? , 空值);
尝试 {
DB3 = this.openOrCreateDatabase(remoteid.db,MODE_PRIVATE,NULL);
如果(cur3!= NULL)
{
如果(cur3.moveToFirst())
{
做 {
valueOfID = cur3.getString(cur3.getColumnIndex(pretestID));
valuOfDate = cur3.getString(cur3.getColumnIndex(日期));
textType = cur3.getString(cur3.getColumnIndex(txtVCT));
valueOfDDLTS = cur3.getString(cur3.getColumnIndex(ddlTestingSession));
valueOfReason = cur3.getString(cur3.getColumnIndex(txtReason));
valueOfHowmany = cur3.getString(cur3.getColumnIndex(txthowmany));
valueOftxtques1 = cur3.getString(cur3.getColumnIndex(txtques1));
valueOfrblques2a = cur3.getString(cur3.getColumnIndex(rblques2a));
valueOfrblques2b = cur3.getString(cur3.getColumnIndex(rblques2b));
valueOfrblques3 = cur3.getString(cur3.getColumnIndex(rblques3));
valueOftxtques4 = cur3.getString(cur3.getColumnIndex(txtques4));
valueOfrblques5 = cur3.getString(cur3.getColumnIndex(rblques5));
valueOfrblques6 = cur3.getString(cur3.getColumnIndex(rblques6));
valueOfrblques7 = cur3.getString(cur3.getColumnIndex(rblques7));
valueOfrblques8 = cur3.getString(cur3.getColumnIndex(rblques8));
valueOfrblques9 = cur3.getString(cur3.getColumnIndex(rblques9));
valueOfddlsick = cur3.getString(cur3.getColumnIndex(ddlsick));
valueOftxtques11 = cur3.getString(cur3.getColumnIndex(txtques11));
valueOfrblques12 = cur3.getString(cur3.getColumnIndex(rblques12));
valueOftxtques13 = cur3.getString(cur3.getColumnIndex(txtques13));
valueOftxtques14 = cur3.getString(cur3.getColumnIndex(txtques14));
valueOfrblques15 = cur3.getString(cur3.getColumnIndex(rblques15));
valueOfrblques16 = cur3.getString(cur3.getColumnIndex(rblques16));
valueOfrblques17 = cur3.getString(cur3.getColumnIndex(rblques17));
valueOftxtques18 = cur3.getString(cur3.getColumnIndex(txtques18));
bundle.getString(valueOfID);
bundle.getString(valuOfDate);
bundle.getString(textType);
bundle.getString(valueOfDDLTS);
bundle.getString(valueOfReason);
bundle.getString(valueOfHowmany);
bundle.getString(valueOftxtques1);
bundle.getString(valueOfrblques2a);
bundle.getString(valueOfrblques2b);
bundle.getString(valueOfrblques3);
bundle.getString(valueOftxtques4);
bundle.getString(valueOfrblques5);
bundle.getString(valueOfrblques6);
bundle.getString(valueOfrblques7);
bundle.getString(valueOfrblques9);
bundle.getString(valueOfddlsick);
bundle.getString(valueOftxtques11);
bundle.getString(valueOfrblques12);
bundle.getString(valueOftxtques13);
bundle.getString(valueOftxtques14);
bundle.getString(valueOfrblques15);
bundle.getString(valueOfrblques16);
bundle.getString(valueOfrblques17);
bundle.getString(valueOftxtques18);
}而(cur3.moveToNext());
}
}
}
赶上(例外五){
Log.e(错误,错误,E);
} 最后 {
如果(DB3!= NULL)
db3.close();
}
cur3.close();
arrayadapter11 =新simpleefficientadapter(Screening.this,prtestData);
arrayadapter22 =新simpleefficientadapter(Screening.this,screeningData);
arrayadapter33 =新simpleefficientadapter(Screening.this,POSTDATA);
mylist1.setAdapter(arrayadapter11);
mylist1.setOnItemClickListener(本);
mylist2.setAdapter(arrayadapter22);
mylist2.setOnItemClickListener(本);
mylist3.setAdapter(arrayadapter33);
mylist3.setOnItemClickListener(本);
}
@覆盖
公共无效onItemClick(适配器视图<>为arg0,查看ARG1,INT ARG2,长ARG3){
意向意图;
开关(arg0.getId()){
案例R.id. prescreenlist:
意图=新的意图(getApplicationContext(),NewScreening.class);
intent.putExtra(则DateValue,valuOfDate);
intent.putExtra(TT,textType);
intent.putExtra(idValue,valueOfID);
intent.putExtra(ddltsValue,valueOfDDLTS);
intent.putExtra(reasonValue,valueOfReason);
intent.putExtra(howmanyValue,valueOfHowmany);
intent.putExtra(textqus1Value,valueOftxtques1);
intent.putExtra(textqus2aValue,valueOfrblques2a);
intent.putExtra(textqus2bValue,valueOfrblques2b);
intent.putExtra(rbqs3Value,valueOfrblques3);
intent.putExtra(rbqs4Value,valueOftxtques4);
intent.putExtra(rbqs5Value,valueOfrblques5);
intent.putExtra(rbqs6Value,valueOfrblques6);
intent.putExtra(rbqs7Value,valueOfrblques7);
intent.putExtra(rbqs8Value,valueOfrblques8);
intent.putExtra(rbqs9Value,valueOfrblques9);
intent.putExtra(ddlsValue,valueOfddlsick);
intent.putExtra(tq11Value,valueOftxtques11);
intent.putExtra(tq12Value,valueOfrblques12);
intent.putExtra(tq13Value,valueOftxtques13);
intent.putExtra(tq14Value,valueOftxtques14);
intent.putExtra(rbqs15Value,valueOfrblques15);
intent.putExtra(rbqs16Value,valueOfrblques16);
intent.putExtra(rbqs17Value,valueOfrblques17);
intent.putExtra(rbqs18Value,valueOftxtques18);
intent.putExtras(意向);
startActivity(意向);
的setResult(RESULT_OK,意图);
打破;
案例R.id.screeninglist:
意图=新的意图(getApplicationContext(),SimpleScreening.class);
startActivity(意向);
打破;
案例R.id.postscreenlist:
意图=新的意图(getApplicationContext(),PostScreening.class);
startActivity(意向);
打破;
}
}
}
解决方案
您已经在你的发言得到了一个额外的,对之前的,其中
。此外,如香草指出,你有没有从
在你的选择。
Android SQLite Cursor Problem at cur3 = db3.rawQuery below is my logcat errors and entire class code. I am facing problem for retreiving data based on comparision on two tables and Primary key(pretest_id) of first pretestTable table. I am not understanding what is the wrong in my SQL query.
Logcat errors:
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.a1technology.remoteid/com.a1technology.remoteid.Screening}: android.database.sqlite.SQLiteException: near "WHERE": syntax error: , while compiling: SELECT tbl_pre_test.ID AS _id, tbl_pre_test.ddlTestingSession, tbl_pre_test.txtReason, tbl_pre_test.txthowmany, tbl_pre_test.txtques1, tbl_pre_test.rblques2a, tbl_pre_test.rblques2b, tbl_pre_test.rblques3, tbl_pre_test.txtques4, tbl_pre_test.rblques5, tbl_pre_test.rblques6, tbl_pre_test.rblques7, tbl_pre_test.rblques8, tbl_pre_test.rblques9, tbl_pre_test.ddlsick, tbl_pre_test.txtques11, tbl_pre_test.rblques12, tbl_pre_test.txtques13, tbl_pre_test.txtques14, tbl_pre_test.rblques15, tbl_pre_test.rblques16, tbl_pre_test.rblques17, tbl_pre_test.txtques18, tbl_pre_test.txtVCT, WHERE tbl_pre_test.ID =tbl_finger.template AND tbl_pre_test.pretest_id=?
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.os.Handler.dispatchMessage(Handler.java:99)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.os.Looper.loop(Looper.java:123)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.ActivityThread.main(ActivityThread.java:3647)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at java.lang.reflect.Method.invokeNative(Native Method)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at java.lang.reflect.Method.invoke(Method.java:507)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at dalvik.system.NativeStart.main(Native Method)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): Caused by: android.database.sqlite.SQLiteException: near "WHERE": syntax error: , while compiling: SELECT tbl_pre_test.ID AS _id, tbl_pre_test.ddlTestingSession, tbl_pre_test.txtReason, tbl_pre_test.txthowmany, tbl_pre_test.txtques1, tbl_pre_test.rblques2a, tbl_pre_test.rblques2b, tbl_pre_test.rblques3, tbl_pre_test.txtques4, tbl_pre_test.rblques5, tbl_pre_test.rblques6, tbl_pre_test.rblques7, tbl_pre_test.rblques8, tbl_pre_test.rblques9, tbl_pre_test.ddlsick, tbl_pre_test.txtques11, tbl_pre_test.rblques12, tbl_pre_test.txtques13, tbl_pre_test.txtques14, tbl_pre_test.rblques15, tbl_pre_test.rblques16, tbl_pre_test.rblques17, tbl_pre_test.txtques18, tbl_pre_test.txtVCT, WHERE tbl_pre_test.ID =tbl_finger.template AND tbl_pre_test.pretest_id=?
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1324)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at com.a1technology.remoteid.Screening.onCreate(Screening.java:320)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
10-20 21:55:28.203: ERROR/AndroidRuntime(2192): ... 11 more
Class Code:
static final String pretestTable="tbl_pre_test";
public static final String columnID="ID";
public static final String DDL_Testing_Session="ddlTestingSession";
public static final String Text_Reason="txtReason";
public static final String Text_Howmany="txthowmany";
public static final String Text_Ques1="txtques1";
public static final String RBL_Ques2a="rblques2a";
public static final String RBL_Ques2b="rblques2b";
public static final String RBL_Ques3="rblques3";
public static final String TXT_Ques4="txtques4";
public static final String RBL_Ques5="rblques5";
public static final String RBL_Ques6="rblques6";
public static final String RBL_Ques7="rblques7";
public static final String RBL_Ques8="rblques8";
public static final String RBL_Ques9="rblques9";
public static final String DDL_Sick="ddlsick";
public static final String TXT_Ques11="txtques11";
public static final String RBL_Ques12="rblques12";
public static final String TXT_Ques13="txtques13";
public static final String TXT_Ques14="txtques14";
public static final String RBL_Ques15="rblques15";
public static final String RBL_Ques16="rblques16";
public static final String RBL_Ques17="rblques17";
public static final String TXT_Ques18="txtques18";
public static final String pretest_id="PretestID";
public static final String TXT_Vct="txtVCT";
static final String fingerTable="tbl_finger";
public static final String fingerTableColumnID="ID";
public static final String Template="template";
static boolean addrow=false;
static int buttonCounter;
int requestCode;
private SQLiteDatabase db,db1,db2,db3;
private DopenHelper helper;
String TableName = "tbl_pre_test";
String TableName1 = "tbl_screening";
String TableName2 = "tbl_postscreen";
String TableName3 = "tbl_finger";
String gotDataScreening1,gotDataScreening2;
private String valuOfDate,textType,valueOfID,valueOfDDLTS,valueOfReason,valueOfHowmany,valueOftxtques1,valueOfrblques2a
,valueOfrblques2b,valueOfrblques3,valueOftxtques4,valueOfrblques5,valueOfrblques6,valueOfrblques7,valueOfrblques8
,valueOfrblques9,valueOfddlsick,valueOftxtques11,valueOfrblques12,valueOftxtques13,valueOftxtques14,valueOfrblques15
,valueOfrblques16,valueOfrblques17,valueOftxtques18;
//
// private int mYear;
// private int mMonth;
// private int mDay;
TextView PreTestView,ScreeningTextView,PostScreenTV;
private simpleefficientadapter arrayadapter11,arrayadapter22,arrayadapter33;
ListView mylist1;
ListView mylist2;
ListView mylist3;
ArrayList<String> prtestData;
ArrayList<String> screeningData;
ArrayList<String> postData;
TextView preTextView,screeTextView,postScreenTextView;
String Date111,Date222,Date333;
//Bundle bundle;
String s1;
String s2;
String s3;
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
db.close();
db1.close();
db2.close();
db3.close();
helper.close();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//openAndQueryDatabase();
//displayResultList();
setContentView(R.layout.screening);
helper=new DopenHelper(Screening.this);
db=helper.getWritableDatabase();
db1=helper.getWritableDatabase();
db2=helper.getWritableDatabase();
db3=helper.getWritableDatabase();
s1="Pree-Test";
s2="Screening";
s3="Post Screen";
//new_screening=(Button)findViewById(R.id.new_screening);
main_return=(Button)findViewById(R.id.main_return);
mylist1=(ListView)findViewById(R.id.prescreenlist);
mylist2=(ListView)findViewById(R.id.screeninglist);
mylist3=(ListView)findViewById(R.id.postscreenlist);
prtestData=new ArrayList<String>();
screeningData=new ArrayList<String>();
postData=new ArrayList<String>();
final Bundle bundle = this.getIntent().getExtras();
gotDataScreening1 = getIntent().getStringExtra("TransferedMenuData000");
gotDataScreening2 = getIntent().getStringExtra("TransferedMenuData111");
main_return.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent main_return=new Intent(Screening.this,Menu.class);
startActivity(main_return);
}
});
preTextView = (TextView)findViewById(R.id.birth_text11);
screeTextView = (TextView)findViewById(R.id.birth_text12);
postScreenTextView =(TextView)findViewById(R.id.birth_text13);
preTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent newIntent = new Intent(Screening.this, NewScreening.class);
bundle.putString("FinalDataScreen1", gotDataScreening1);
bundle.putString("FinalDataScreen2", gotDataScreening2);
newIntent.putExtras(bundle);
startActivityForResult(newIntent, requestCode);
}
});
screeTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent simpleIntent=new Intent(Screening.this,SimpleScreening.class);
bundle.putString("FinalDataScreen1", gotDataScreening1);
bundle.putString("FinalDataScreen2", gotDataScreening2);
simpleIntent.putExtras(bundle);
startActivityForResult(simpleIntent, requestCode);
}
});
postScreenTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent postIntent=new Intent(Screening.this,PostScreening.class);
bundle.putString("FinalDataScreen1", gotDataScreening1);
bundle.putString("FinalDataScreen2", gotDataScreening2);
postIntent.putExtras(bundle);
startActivityForResult(postIntent, 1);
}
});
//+++++++++++++++++++++ To Know the SQLite DataBase Version Added By Murali ++++++++++++++++++++++++++++++
/*Cursor cursor = SQLiteDatabase.openOrCreateDatabase(":memory:", null).rawQuery("select sqlite_version() AS sqlite_version", null);
{
String sqliteVersion = "";
while(cursor.moveToNext()){
sqliteVersion += cursor.getString(0);
Log.v("SQL Version", cursor.getString(0));
}
}cursor.close();*/
//+++++++++++++++++ Code Ends Above Code for To Know SQLite Version +++++++++++++++++++++++++++++++
//+++++++++++++++++++++ Below COde For Retriving Data From DataBase ++++++++++++++++++++++++++
Cursor cur = db.rawQuery("SELECT PretestID,Date,txtVCT FROM " + TableName, null);
try {
db = this.openOrCreateDatabase("remoteid.db", MODE_PRIVATE, null);
if(cur != null )
{
if(cur.moveToFirst())
{
do {
String valuOfDate = cur.getString(cur.getColumnIndex("Date"));
String textType = cur.getString(cur.getColumnIndex("txtVCT"));
String valueOfID = cur.getString(cur.getColumnIndex("PretestID"));
//Toast.makeText(getApplicationContext(), valueOfID, Toast.LENGTH_SHORT).show();
prtestData.add(valuOfDate);
}while (cur.moveToNext());
}
}
}
catch(Exception e) {
Log.e("Error", "Error", e);
} finally {
if (db != null)
db.close();
}
cur.close();
Cursor cur1 = db1.rawQuery("SELECT Date FROM " + TableName1, null);
try {
db1 = this.openOrCreateDatabase("remoteid.db", MODE_PRIVATE, null);
if(cur1 != null )
{
if(cur1.moveToFirst())
{
do {
String valuOfDate1 = cur1.getString(cur1.getColumnIndex("Date"));
//Toast.makeText(getApplicationContext(), valueOfID, Toast.LENGTH_SHORT).show();
screeningData.add(valuOfDate1);
}while (cur1.moveToNext());
}
}
}
catch(Exception e) {
Log.e("Error", "Error", e);
} finally {
if (db1 != null)
db1.close();
}
cur1.close();
Cursor cur2 = db2.rawQuery("SELECT Date FROM " + TableName2, null);
try {
db2 = this.openOrCreateDatabase("remoteid.db", MODE_PRIVATE, null);
if(cur2 != null )
{
if(cur2.moveToFirst())
{
do {
String valuOfDate2 = cur2.getString(cur2.getColumnIndex("Date"));
//Toast.makeText(getApplicationContext(), valuOfDate2, Toast.LENGTH_SHORT).show();
postData.add(valuOfDate2);
}while (cur2.moveToNext());
}
}
}
catch(Exception e) {
Log.e("Error", "Error", e);
} finally {
if (db2 != null)
db2.close();
}
cur2.close();
Cursor cur3 = db3.rawQuery("SELECT "+pretestTable+"."+columnID+" AS _id,"+
" "+pretestTable+"."+DDL_Testing_Session+","+
" "+pretestTable+"."+Text_Reason+","+
" "+pretestTable+"."+Text_Howmany+","+
" "+pretestTable+"."+Text_Ques1+","+
" "+pretestTable+"."+RBL_Ques2a+","+
" "+pretestTable+"."+RBL_Ques2b+","+
" "+pretestTable+"."+RBL_Ques3+","+
" "+pretestTable+"."+TXT_Ques4+","+
" "+pretestTable+"."+RBL_Ques5+","+
" "+pretestTable+"."+RBL_Ques6+","+
" "+pretestTable+"."+RBL_Ques7+","+
" "+pretestTable+"."+RBL_Ques8+","+
" "+pretestTable+"."+RBL_Ques9+","+
" "+pretestTable+"."+DDL_Sick+","+
" "+pretestTable+"."+TXT_Ques11+","+
" "+pretestTable+"."+RBL_Ques12+","+
" "+pretestTable+"."+TXT_Ques13+","+
" "+pretestTable+"."+TXT_Ques14+","+
" "+pretestTable+"."+RBL_Ques15+","+
" "+pretestTable+"."+RBL_Ques16+","+
" "+pretestTable+"."+RBL_Ques17+","+
" "+pretestTable+"."+TXT_Ques18+","+
" "+pretestTable+"."+TXT_Vct+","+" WHERE " + pretestTable+"."+columnID+" ="+fingerTable+"."+Template+" AND "+pretestTable+"."+"pretest_id=?" , null);
//" "+pretestTable+"."+TXT_Vct+","+" WHERE" + pretestTable+"."+columnID+" ="+fingerTable+"."+Template+"AND" +"pretest_id=?" , null);
try {
db3 = this.openOrCreateDatabase("remoteid.db", MODE_PRIVATE, null);
if(cur3 != null )
{
if(cur3.moveToFirst())
{
do {
valueOfID = cur3.getString(cur3.getColumnIndex("PretestID"));
valuOfDate = cur3.getString(cur3.getColumnIndex("Date"));
textType = cur3.getString(cur3.getColumnIndex("txtVCT"));
valueOfDDLTS = cur3.getString(cur3.getColumnIndex("ddlTestingSession"));
valueOfReason = cur3.getString(cur3.getColumnIndex("txtReason"));
valueOfHowmany = cur3.getString(cur3.getColumnIndex("txthowmany"));
valueOftxtques1 = cur3.getString(cur3.getColumnIndex("txtques1"));
valueOfrblques2a = cur3.getString(cur3.getColumnIndex("rblques2a"));
valueOfrblques2b = cur3.getString(cur3.getColumnIndex("rblques2b"));
valueOfrblques3 = cur3.getString(cur3.getColumnIndex("rblques3"));
valueOftxtques4 = cur3.getString(cur3.getColumnIndex("txtques4"));
valueOfrblques5 = cur3.getString(cur3.getColumnIndex("rblques5"));
valueOfrblques6 = cur3.getString(cur3.getColumnIndex("rblques6"));
valueOfrblques7 = cur3.getString(cur3.getColumnIndex("rblques7"));
valueOfrblques8 = cur3.getString(cur3.getColumnIndex("rblques8"));
valueOfrblques9 = cur3.getString(cur3.getColumnIndex("rblques9"));
valueOfddlsick = cur3.getString(cur3.getColumnIndex("ddlsick"));
valueOftxtques11 = cur3.getString(cur3.getColumnIndex("txtques11"));
valueOfrblques12 = cur3.getString(cur3.getColumnIndex("rblques12"));
valueOftxtques13 = cur3.getString(cur3.getColumnIndex("txtques13"));
valueOftxtques14 = cur3.getString(cur3.getColumnIndex("txtques14"));
valueOfrblques15 = cur3.getString(cur3.getColumnIndex("rblques15"));
valueOfrblques16 = cur3.getString(cur3.getColumnIndex("rblques16"));
valueOfrblques17 = cur3.getString(cur3.getColumnIndex("rblques17"));
valueOftxtques18 = cur3.getString(cur3.getColumnIndex("txtques18"));
bundle.getString(valueOfID);
bundle.getString(valuOfDate);
bundle.getString(textType);
bundle.getString(valueOfDDLTS);
bundle.getString(valueOfReason);
bundle.getString(valueOfHowmany);
bundle.getString(valueOftxtques1);
bundle.getString(valueOfrblques2a);
bundle.getString(valueOfrblques2b);
bundle.getString(valueOfrblques3);
bundle.getString(valueOftxtques4);
bundle.getString(valueOfrblques5);
bundle.getString(valueOfrblques6);
bundle.getString(valueOfrblques7);
bundle.getString(valueOfrblques9);
bundle.getString(valueOfddlsick);
bundle.getString(valueOftxtques11);
bundle.getString(valueOfrblques12);
bundle.getString(valueOftxtques13);
bundle.getString(valueOftxtques14);
bundle.getString(valueOfrblques15);
bundle.getString(valueOfrblques16);
bundle.getString(valueOfrblques17);
bundle.getString(valueOftxtques18);
}while (cur3.moveToNext());
}
}
}
catch(Exception e) {
Log.e("Error", "Error", e);
} finally {
if (db3 != null)
db3.close();
}
cur3.close();
arrayadapter11 = new simpleefficientadapter(Screening.this,prtestData);
arrayadapter22 = new simpleefficientadapter(Screening.this,screeningData);
arrayadapter33 = new simpleefficientadapter(Screening.this,postData);
mylist1.setAdapter(arrayadapter11);
mylist1.setOnItemClickListener(this);
mylist2.setAdapter(arrayadapter22);
mylist2.setOnItemClickListener(this);
mylist3.setAdapter(arrayadapter33);
mylist3.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent intent;
switch (arg0.getId()) {
case R.id.prescreenlist:
intent = new Intent(getApplicationContext(), NewScreening.class);
intent.putExtra("DateValue", valuOfDate);
intent.putExtra("TT", textType);
intent.putExtra("idValue", valueOfID);
intent.putExtra("ddltsValue", valueOfDDLTS);
intent.putExtra("reasonValue", valueOfReason);
intent.putExtra("howmanyValue", valueOfHowmany);
intent.putExtra("textqus1Value", valueOftxtques1);
intent.putExtra("textqus2aValue", valueOfrblques2a);
intent.putExtra("textqus2bValue", valueOfrblques2b);
intent.putExtra("rbqs3Value", valueOfrblques3);
intent.putExtra("rbqs4Value", valueOftxtques4);
intent.putExtra("rbqs5Value", valueOfrblques5);
intent.putExtra("rbqs6Value", valueOfrblques6);
intent.putExtra("rbqs7Value", valueOfrblques7);
intent.putExtra("rbqs8Value", valueOfrblques8);
intent.putExtra("rbqs9Value", valueOfrblques9);
intent.putExtra("ddlsValue", valueOfddlsick);
intent.putExtra("tq11Value", valueOftxtques11);
intent.putExtra("tq12Value", valueOfrblques12);
intent.putExtra("tq13Value", valueOftxtques13);
intent.putExtra("tq14Value", valueOftxtques14);
intent.putExtra("rbqs15Value", valueOfrblques15);
intent.putExtra("rbqs16Value", valueOfrblques16);
intent.putExtra("rbqs17Value", valueOfrblques17);
intent.putExtra("rbqs18Value", valueOftxtques18);
intent.putExtras(intent);
startActivity(intent);
setResult(RESULT_OK, intent);
break;
case R.id.screeninglist:
intent = new Intent(getApplicationContext(), SimpleScreening.class);
startActivity(intent);
break;
case R.id.postscreenlist:
intent = new Intent(getApplicationContext(), PostScreening.class);
startActivity(intent);
break;
}
}
}
解决方案
You've got an extra "," right before your WHERE
in your statement. Also, as Herb pointed out you have no FROM
in your select.
上一篇:我怎样才能从设备和打印机的IShellFolder打印机名称?打印机、名称、设备、IShellFolder
下一篇:一个TextView里面ClickableSpan的怎么弄协调?怎么弄、里面、TextView、ClickableSpan