全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1365
推到 Plurk!
推到 Facebook!

sql語法的相關問題

答題得分者是:hagar
funging
一般會員


發表:13
回覆:41
積分:10
註冊:2002-10-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-10 11:32:47 IP:139.175.xxx.xxx 未訂閱
大家好,我想請問一下,要是我有一個query1裡面的mysql語法為'show tables;' 目的:將某個資料庫的所有table,放入combobox1裡面。 那我在寫 Query1.Active:=true; while not Query1.Eof do begin ComboBox1.Items.Add( ??????); Query1.Next; end; Query1.Close; -->?????裡應該放什麼值呢??請幫我解答!謝謝!^^
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-10 11:39:47 IP:61.228.xxx.xxx 未訂閱
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-10 11:47:48 IP:147.8.xxx.xxx 未訂閱
If you do not know the fieldname, try using the field index, e.g. Query1.Fields[0].AsString
funging
一般會員


發表:13
回覆:41
積分:10
註冊:2002-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-10 22:46:47 IP:139.175.xxx.xxx 未訂閱
我把程式寫成以下: qr_NTIS.Close; qr_NTIS.SQL.Clear; qr_NTIS.SQL.Add('show tables;'); qr_NTIS.Open; ComboBox1.Clear; while not qr_NTIS.Eof do begin ComboBox1.Items.Add(qr_NTIS.Fields[0].AsString); end; qr_NTIS.Close; 但還是沒有值??是語法錯誤嗎?還是觀念??
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-10 23:47:00 IP:210.3.xxx.xxx 未訂閱
I don't have access to mySQL, have you tried the sql statement inside SQL Explorer?
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-10 23:52:11 IP:61.228.xxx.xxx 未訂閱
上面 MySQL 的部份你不用改吧 ... 下面改就好了 如下: qr_NTIS.Active:=true; while not qr_NTIS.Eof do begin ComboBox1.Items.Add(qr_NTIS.Fields[0].AsString); end; qr_NTIS.Close;
funging
一般會員


發表:13
回覆:41
積分:10
註冊:2002-10-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-11 00:07:29 IP:139.175.xxx.xxx 未訂閱
FrederickPau先生你好,不曉的為何照你的方式改,情況還是沒改善!^^|| william先生你是指我有沒有在mysql那測試過嗎??還是什麼意思!英文有點不好,不好意思!呵~^^||
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-11 00:11:45 IP:61.228.xxx.xxx 未訂閱
你本來的 MySQL 資料在 Active 設為 True 之後, 有沒有資料呢?
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-11 12:10:48 IP:61.221.xxx.xxx 未訂閱
引言:我把程式寫成以下: qr_NTIS.Close; qr_NTIS.SQL.Clear; qr_NTIS.SQL.Add('show tables;'); qr_NTIS.Open; ComboBox1.Clear; while not qr_NTIS.Eof do begin ComboBox1.Items.Add(qr_NTIS.Fields[0].AsString); end; qr_NTIS.Close;
這裡語法對嗎?????--紅色部分 ComboBox1.Items.Add(qr_NTIS.Fields.Fields[0].AsString);--藍色部分
------
======================
昏睡~
不昏睡~
不由昏睡~
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-11 12:18:06 IP:147.8.xxx.xxx 未訂閱
引言:william先生你是指我有沒有在mysql那測試過嗎??還是什麼意思!英文有點不好,不好意思!呵~^^||
What is the result in executing the statement show tables; insides SQL Explorer?
funging
一般會員


發表:13
回覆:41
積分:10
註冊:2002-10-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-12-11 13:08:37 IP:139.175.xxx.xxx 未訂閱
william先生,我有測試過那個sql語法,結果是對的,出來的是我資料庫的所有table名稱,那也是我要的結果!謝謝!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2002-12-11 13:12:10 IP:202.39.xxx.xxx 未訂閱
您應該是用 TDatabase 元件來連結 MySQL 的吧 如果是的話, 我想您要的功能是如下:
var
  MyStringList: TStringList;
begin
  MyStringList := TStringList.Create;
  try
    Database1.Session.GetTableNames('YourAlias', '', False, False, MyStringList);
    { Add the table names to a list box }
    ComboBox1.Items = MyStringList;
  finally
    MyStringList.Free;
  end;
end;
詳細的用法參考 TSession.GetTableNames 的 Help -- Everything I say is a lie. 發表人 - hagar 於 2002/12/11 13:14:05
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2002-12-11 13:34:50 IP:61.221.xxx.xxx 未訂閱
引言: william先生,我有測試過那個sql語法,結果是對的,出來的是我資料庫的所有table名稱,那也是我要的結果!謝謝!
qr_NTIS.Close; qr_NTIS.SQL.Clear; qr_NTIS.SQL.Add('show tables;'); qr_NTIS.Open; ComboBox1.Clear; while not qr_NTIS.Eof do begin ComboBox1.Items.Add(qr_NTIS.Fields[0].AsString); next; end; qr_NTIS.Close;
------
======================
昏睡~
不昏睡~
不由昏睡~
funging
一般會員


發表:13
回覆:41
積分:10
註冊:2002-10-28

發送簡訊給我
#14 引用回覆 回覆 發表時間:2002-12-11 19:49:24 IP:139.175.xxx.xxx 未訂閱
你們好!^^|| 不曉得什麼原因,只要一執行此動作,程式即當掉!>< 我是將指令放在combobox的onchange事件,或是另外一個button的click事件,都會導致程式當掉!><不曉得為何? ps.基本上sql元件,改成true時,會有資料!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#15 引用回覆 回覆 發表時間:2002-12-11 19:58:52 IP:202.39.xxx.xxx 未訂閱
如果您是用 ko 兄那段程式, 是會造成無窮迴圈的
begin
  qr_NTIS.Close;
  qr_NTIS.SQL.Clear;
  qr_NTIS.SQL.Add('show tables;');
  qr_NTIS.Open;
  ComboBox1.Clear;
  while not qr_NTIS.Eof do
  begin
    ComboBox1.Items.Add(qr_NTIS.Fields[0].AsString);
    next; // 這行有問題, 改成 qr_NTIS.Next;
  end;
  qr_NTIS.Close;
end;
-- Everything I say is a lie. 發表人 - hagar 於 2002/12/11 20:05:38
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#16 引用回覆 回覆 發表時間:2002-12-12 00:55:29 IP:61.64.xxx.xxx 未訂閱
呵呵~ 真歹勢!!! 其實我測試是用以下code with qry do begin close; sql.clear; sql.add('show tables'); open; while qry.iseof do begin ComboBox1.Items.Add(qry.Fields[0].AsString); next; end; end;
------
======================
昏睡~
不昏睡~
不由昏睡~
funging
一般會員


發表:13
回覆:41
積分:10
註冊:2002-10-28

發送簡訊給我
#17 引用回覆 回覆 發表時間:2002-12-12 01:42:09 IP:139.175.xxx.xxx 未訂閱
嗯!我可以抓到值了!謝謝hagar先生,及各位的大力幫助!^^
系統時間:2024-06-26 8:38:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!