請教一小段程式 |
尚未結案
|
windshiuan
一般會員 ![]() ![]() 發表:22 回覆:11 積分:6 註冊:2003-11-17 發送簡訊給我 |
下面這段程式是我寫資料庫真的欄位資料比對的程式 AnsiString temp;
while(!ADOTable1->Eof)
{
temp = ADOTable1->FieldValues["車牌"];
if(temp == Edit1->Text)
{
Edit2->Text=ADOTable1->Fields->Fields[6]->AsString;
//ShowMessage("找到資料");
}
else
{
ShowMessage("找不到資料");
}
ADOTable1->Next();
} 我是用ADOTable1往下比對一筆一筆找 可是請問要怎麼讓ADOTable1找到最後一筆後.如果沒找到資料 就秀出ShowMessage("找不到資料"); 然後讓ADOTable1又指回到第一筆 或是找到資料後.就讓ADOTable1指回到第一筆.等待下一次的資料比對 煩請大家解惑一下..感謝~~
|
folkchen
高階會員 ![]() ![]() ![]() ![]() 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
andychang1690
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: 下面這段程式是我寫資料庫真的欄位資料比對的程式 AnsiString temp; while(!ADOTable1->Eof) { temp = ADOTable1->FieldValues["車牌"]; if(temp == Edit1->Text) { Edit2->Text=ADOTable1->Fields->Fields[6]->AsString; //ShowMessage("找到資料"); } else { ShowMessage("找不到資料"); } ADOTable1->Next(); } 我是用ADOTable1往下比對一筆一筆找 可是請問要怎麼讓ADOTable1找到最後一筆後.如果沒找到資料 就秀出ShowMessage("找不到資料"); 然後讓ADOTable1又指回到第一筆 或是找到資料後.就讓ADOTable1指回到第一筆.等待下一次的資料比對 煩請大家解惑一下..感謝~~不討論你程式的效率,針對你的問題! AnsiString temp; bool is_found=false; ADOTable1->First(); while(!ADOTable1->Eof) { temp = ADOTable1->FieldValues["車牌"]; if(temp == Edit1->Text) { Edit2->Text=ADOTable1->Fields->Fields[6]->AsString; is_found=true; break; //ShowMessage("找到資料"); } // else // { // ShowMessage("找不到資料"); // } ADOTable1->Next(); } if (is_found) ShowMessage("找到資料"); else ShowMessage("找不到資料"); 請參考!Andy Chang
------
Andy Chang |
windshiuan
一般會員 ![]() ![]() 發表:22 回覆:11 積分:6 註冊:2003-11-17 發送簡訊給我 |
引言:請教...is_found這個是?? 可以註解一下嗎?? 感謝~~引言: 下面這段程式是我寫資料庫真的欄位資料比對的程式 AnsiString temp; while(!ADOTable1->Eof) { temp = ADOTable1->FieldValues["車牌"]; if(temp == Edit1->Text) { Edit2->Text=ADOTable1->Fields->Fields[6]->AsString; //ShowMessage("找到資料"); } else { ShowMessage("找不到資料"); } ADOTable1->Next(); } 我是用ADOTable1往下比對一筆一筆找 可是請問要怎麼讓ADOTable1找到最後一筆後.如果沒找到資料 就秀出ShowMessage("找不到資料"); 然後讓ADOTable1又指回到第一筆 或是找到資料後.就讓ADOTable1指回到第一筆.等待下一次的資料比對 煩請大家解惑一下..感謝~~不討論你程式的效率,針對你的問題!AnsiString temp; bool is_found=false; ADOTable1->First(); while(!ADOTable1->Eof) { temp = ADOTable1->FieldValues["車牌"]; if(temp == Edit1->Text) { Edit2->Text=ADOTable1->Fields->Fields[6]->AsString; is_found=true; break; //ShowMessage("找到資料"); } // else // { // ShowMessage("找不到資料"); // } ADOTable1->Next(); } if (is_found) ShowMessage("找到資料"); else ShowMessage("找不到資料"); 請參考!Andy Chang |
andychang1690
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
is_found 是一個布林變數,bool is_found=false; // 初始設為偽(假)
這是針對你所提出如果沒找到資料就秀出ShowMessage("找不到資料");
,也就是程式一開始先預設找不到資料,若找到將is_found=true;
// 設為真,如此只要使用:
if (is_found) ShowMessage("找到資料"); else ShowMessage("找不到資料"); 就可以了, 請參考Andy Chang
------
Andy Chang |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |