線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:968
推到 Plurk!
推到 Facebook!

請問這個錯誤是什麼意思

尚未結案
jacksonhuang
一般會員


發表:26
回覆:22
積分:9
註冊:2004-04-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-18 10:09:10 IP:140.124.xxx.xxx 未訂閱
以下是code ADOQuery1->Close();                 ADOQuery1->SQL->Clear();                 ADOQuery1->SQL->Text = "select * from "+AnsiString(buff.field.login.user.uid);                 ADOQuery1->Open();                    int num=ADOQuery1->RecordCount;                 Friend_List send;                 buff.field.partner.number=ADOQuery1->RecordCount;                 AThread->Connection->WriteBuffer((void *)&buff,sizeof(Command_header));                 for(int k=0;kClose(); ADOQuery2->SQL->Clear(); ADOQuery2->SQL->Text = "select * from Account_List where U_ID='"+ADOQuery1->Fields->Fields[0]->AsString+"'"; ADOQuery2->Open(); if(difftime(time(NULL),ADOQuery2->Fields->Fields[3]->AsInteger)>10 && (ADOQuery2->Fields->Fields[3]->AsInteger)!=0) { ADOQuery3->Close(); ADOQuery3->SQL->Clear(); ADOQuery3->SQL->Text = "select * from "+ADOQuery1->Fields->Fields[0]->AsString; ADOQuery3->Open(); int upnum=ADOQuery3->RecordCount; for(int x=0;xClose(); ADOQuery4->SQL->Clear(); ADOQuery4->SQL->Text = "update "+ADOQuery3->Fields->Fields[0]->AsString+" set Now_Status='0',IP=' ' where F_UID='"+ADOQuery2->Fields->Fields[0]->AsString+"'"; ADOQuery4->ExecSQL(); DataSource3->DataSet->Next(); } ADOQuery5->Close(); ADOQuery5->SQL->Clear(); ADOQuery5->SQL->Text = "Update Account_List set Now_Status='0',Check_time='0' where U_ID='"+ADOQuery1->Fields->Fields[0]->AsString+"'"; ADOQuery5->ExecSQL(); } ADOQuery5->Close(); ADOQuery5->SQL->Clear(); ADOQuery5->SQL->Text = "select * from "+AnsiString(buff.field.login.user.uid); ADOQuery5->Open(); strcpy(send.uid,ADOQuery1->Fields->Fields[0]->Text.c_str()); strcpy(send.nickname,ADOQuery1->Fields->Fields[1]->Text.c_str()); strcpy(send.now_status,ADOQuery1->Fields->Fields[2]->Text.c_str()); AThread->Connection->WriteBuffer((void *)&send,sizeof(Friend_List)); DataSource1->DataSet->Next(); } 如果加上紅色的 ADOQuery5->Close(); ADOQuery5->SQL->Clear(); ADOQuery5->SQL->Text = "select * from "+AnsiString(buff.field.login.user.uid); ADOQuery5->Open(); 並且把 strcpy(send.uid,ADOQuery1->Fields->Fields[0]->Text.c_str()); strcpy(send.nickname,ADOQuery1->Fields->Fields[1]->Text.c_str()); strcpy(send.now_status,ADOQuery1->Fields->Fields[2]->Text.c_str()); AThread->Connection->WriteBuffer((void *)&send,sizeof(Friend_List)); DataSource1->DataSet->Next(); } 的紅色部份改成ADOQuery5就會有錯 ps.加上ADOQuery5是要得到最新的data(之前的ADOQuery1的data己經被update過了) 謝謝
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-18 11:37:30 IP:61.66.xxx.xxx 未訂閱
應該是SQL組錯了吧 ADOQuery5->SQL->Text = "select * from " AnsiString(buff.field.login.user.uid); 之中 from 後面應該是接table的名稱 然後 再接where 例如: ADOQuery5->SQL->Text ="select * from table1 where table1.uid=" AnsiString(buff.field.login.user.uid); //其中table1是Table的名稱 uid是table1的欄位
jacksonhuang
一般會員


發表:26
回覆:22
積分:9
註冊:2004-04-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-18 23:32:07 IP:140.124.xxx.xxx 未訂閱
謝謝bass15大大 不過,可能是我的問題問得不是很清楚~ AnsiString(buff.field.login.user.uid); <-- 是我的一個table的名稱 在我的access裡,我用每一個account 的名稱去create一個table,專門用 來存放有關於這個account的一些資訊 不過還是很謝謝你....
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-19 00:41:19 IP:61.59.xxx.xxx 未訂閱
你的錯誤訊息看起來像是SQL中的FROM子句錯誤,建議在ADOQuery5->Open();前設中斷點看看你的ADOQuery5->SQL->Text裡面的值是什麼, 有可能buff.field.login.user.uid是空值或是有一些特殊字
jacksonhuang
一般會員


發表:26
回覆:22
積分:9
註冊:2004-04-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-19 11:43:25 IP:140.124.xxx.xxx 未訂閱
謝謝bass15大大 我有設過斷點去看內容,不過buff.field.login.user.uid的值 是正確的(我要查詢的那個table的名稱) 所以我在想是不是有可能我用了太多的query,而且query的序順不對 謝謝~~
系統時間:2024-04-30 0:50:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!