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

如何用Query將資料一筆一筆讀出

尚未結案
chuhung
一般會員


發表:3
回覆:2
積分:1
註冊:2005-09-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-17 23:55:09 IP:163.21.xxx.xxx 未訂閱
NO   DATA --------------- 1    20031226 2    20010513 10   20061215 20   20041001 將DATA這ㄍ欄位值~一筆一筆讀出 假定現在要取出NO這欄位的第10筆資料-放在Label1 要怎麼做捏??    因為新手關西~不太會使Query語法~ 還請各位大大~給予指導!! 感恩        以下兩者又有何不同~如何運用勒= = Query1->Param->Item[0]->AsString Query1->ParamByName("DATA")->AsString
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-18 16:17:48 IP:220.134.xxx.xxx 未訂閱
A.請問資料庫?版本?
B.一般而言資料庫第幾筆並無太大意義!
//Q1.第10筆?
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("Select DATA from table_name where NO='" Edit1->Text "'");
Query1->Open();
if(Query1->IsEmpty()) 
{
  Label1.Caption ="Not Found";
} 
else
{ 
  i=0;
  while(i<10)
  {
    Query1->next;         
    i  ;         
  }
  if(!Query1->Eof)
  {
    Label1.Caption=Query1->Fields[0]->AsString;
  }  
}
//Q2.方法一
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("Select DATA from table_name where NO='" Edit1->Text "'");
 
Query1->Open();
if(Query1->IsEmpty()) 
{
  Label1.Caption ="Not Found";
} 
else
{
  Label1.Caption =Query1->Fields[0]->AsString;
}    //Q2.方法二
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select DATA from table_name where NO=':X'");
Query1->Params->ParseSQL(Query1->SQL->Text, true); 
Query1->Params->ParamByName("X")->AsString =Edit1.Text;
Query1->Open();
if(Query1->IsEmpty())
{
  Label1.Caption ="Not Found";
} 
else
{
  Label1.Caption =Query1->Fields[0]->AsString;
}
//試試看
**
------
What do we live for if not to make life less difficult for each other?
chuhung
一般會員


發表:3
回覆:2
積分:1
註冊:2005-09-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-21 05:13:41 IP:61.231.xxx.xxx 未訂閱
感謝christie大大的回答!! 不過三種我試摟~不過似乎系統看不大懂~ if(Query1->IsEmpty()) <=這段好像ㄅ能判斷捏!! { Label1.Caption ="Not Found"; } else { Label1.Caption =Query1->Fields[0]->AsString; } 我在家試了!!有點怪怪滴~因為他說他看ㄅ懂上面那行 = =可以請問ㄧ下?下面那行的意思嗎?是第一個欄位中裡的值嗎? Query1->Fields[0]->AsString 這樣還是無法達成ㄧ筆ㄧ筆讀出~因為我用的是BCB寫的~ 可以請大大指導一下~還有沒有什麼方法可以辦別~搜尋筆數是否為空的 如果再加上迴圈的話~好像可以寫~要怎麼做捏?? 請大大幫幫小弟想想~感恩
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-23 09:16:58 IP:203.73.xxx.xxx 未訂閱
create table T (no number(4),data varchar2(20));
***************************************************
{ //Try Again!
  Query1->Close;
  Query1->SQL->Clear;
  Query1->SQL->Add("select DATA from T where NO="   Edit1->Text);
  Query1->Open;
  while( ! Query1->Eof)
  {
    //一筆一筆讀
    Query1->Next;
  }
  
  if (Query1->IsEmpty)
    Label1->Caption="Not found!"
  else
    Label1->caption= Query1->Fields[0]->AsString;
}    Fields[0] 是第一欄Fields[1] 是第二欄以此類推
 
------
What do we live for if not to make life less difficult for each other?
系統時間:2024-04-19 12:13:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!