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

[問題] 如何找出資料表中為主索引鍵值的欄位??

答題得分者是:deity
sjaysyin
一般會員


發表:1
回覆:1
積分:0
註冊:2005-07-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-13 03:50:01 IP:59.121.xxx.xxx 未訂閱
各位大大早安啊~ 想請教各位如何用Delphi結合SQL2000 Server,如何查出資料庫中所有各資料表的主索引鍵欄位名稱呢?感謝各位大大的幫忙喔!^^
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-13 08:54:57 IP:203.73.xxx.xxx 未訂閱
你好!我是用這個方法! select a.name, a.id, b.name from sysobjects a left outer join sysobjects b on a.id = b.parent_obj where a.xtype = 'U' and b.xtype = 'PK' Ian
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-13 08:57:30 IP:202.62.xxx.xxx 未訂閱
您好﹗    可經于GetIndexName來取得索引欄位名﹐如下﹕
begin
  ADOTable1.GetIndexNames(ComboBox1.Items);
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
sjaysyin
一般會員


發表:1
回覆:1
積分:0
註冊:2005-07-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-13 10:46:09 IP:61.219.xxx.xxx 未訂閱
[quote] 您好﹗ 想請問(ComboBox1.Items)how to set內容,可麻煩舉例說明所提供方法如何用嗎?謝謝!感恩!!(新手上路請多多指教)    可經于GetIndexName來取得索引欄位名﹐如下﹕
begin
  ADOTable1.GetIndexNames(ComboBox1.Items);
end;
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-13 11:12:58 IP:211.74.xxx.xxx 未訂閱
ADOTable1.GetIndexNames(ComboBox1.Items); 是把所有的Index name取出來,好像無單獨取出主鍵值! Ian
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-13 11:16:43 IP:218.15.xxx.xxx 未訂閱
插个花 sjaysyin您好:您是要得出“查出資料庫中所有各資料表的主索引鍵欄位名稱” 可采用如下方法:
procedure TForm1.Button3Click(Sender: TObject);
var
  str,IndexStr: TStringList;
  i:integer;
begin
  ComboBox1.Items.Clear;
  str:= TStringList.Create;
  IndexStr:=TStringList.Create;
//ADOConnection可根据自己需要设置  ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=lijh;'
                                  'Initial Catalog=xyjj;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LIJH;Use Encryption for Data=False;Tag with column collation when possible=False';      ADOTable1.Connection:=ADOConnection1;
  ADOConnection1.LoginPrompt:=false;
  ADOConnection1.Connected:=true;
  ADOConnection1.GetTableNames(str); //得出数据库中所有的表      for i:=0 to str.Count-1 do
    begin
      ADOTable1.TableName:=str[i];
      ADOTable1.GetIndexNames(IndexStr); //得出索引名称
      ComboBox1.Items.AddStrings(IndexStr);  //显示索引名称
      next;
    end;
  str.Free;
end;
 
請問(ComboBox1.Items)how to set內容? 是指 这样吗?
 
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Edit1.Text:=ComboBox1.Items[ComboBox1.ItemIndex];
end;
============================ 为什么经过多年以后,得失的过程如此冷漠 ============================
系統時間:2024-07-01 11:21:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!