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

如何取Access index Name ?

 
css
一般會員


發表:24
回覆:17
積分:8
註冊:2006-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-12-20 23:21:09 IP:220.132.xxx.xxx 訂閱
 ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('Create Table Sala(SDYear Varchar(4) not null,SDNo Varchar(10) not null,SDType Varchar(2) not null ,');
ADOQuery1.SQL.Add('SDSort Varchar(2) not null,SD_January Float not null default 0,SD_February Float not null default 0, ');
ADOQuery1.SQL.Add('SD_March Float not null default 0,SD_April Float not null default 0, ');
ADOQuery1.SQL.Add('Primary key(SDYear,SDNo,SDType,SDSort) )');
使用sql 語法建立table 及 'Primary key
請問有什麼指語法得知Primary key 的 indexname
每開一個Table 所產生的 indexname 都不一樣 如 Index_4D8B88EA_793D_4260
Index_.......後面都不一樣

pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-12-21 11:09:21 IP:218.163.xxx.xxx 未訂閱
試試看
procedure TMDIMainForm.Button1Click(Sender: TObject);
var
i: integer;
begin
inherited;
table1.Open;
for i := 0 to table1.IndexDefs.Count - 1 do
if (ixPrimary in table1.IndexDefs.Items[i].options) or
(ixUnique in table1.IndexDefs.Items[i].options) then
showmessage('PKindexname=' table1.IndexDefs.Items[i].Name);
end;

------
星期一,二...無窮迴圈@@
css
一般會員


發表:24
回覆:17
積分:8
註冊:2006-08-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-12-22 08:26:52 IP:220.132.xxx.xxx 訂閱
謝謝 pgdennis 
好像 用在 TTABLE 可以
我用是 Microsoft Access 資料庫好像不可以 ?
ADOQuery1.SQL.Add('Primary key(SDYear,SDNo,SDType,SDSort) )'); 主key

hagar
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-12 16:36:17 IP:59.124.xxx.xxx 未訂閱
// 以下是取得 Primarykey Name
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOConnection1.OpenSchema(siPrimaryKeys, EmptyParam, EmptyParam, ADODataSet1);
ADODataSet1.Open;
ADODataset1.Locate('TABLE_NAME', 'table1', []); // table1是 table name
ShowMessage(ADODataset1.FieldByName('PK_NAME').AsString);
end;
// 以下是取得Index Name
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOConnection1.Open;
ADOConnection1.OpenSchema(siIndexes, EmptyParam, EmptyParam, ADODataSet1);
ADODataSet1.Open;
ADODataset1.Locate('TABLE_NAME', 'table1', []);
ShowMessage(ADODataset1.FieldByName('INDEX_NAME').AsString);
end;

css
一般會員


發表:24
回覆:17
積分:8
註冊:2006-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-12 22:16:35 IP:220.132.xxx.xxx 訂閱
謝謝 Hagar  大大 終於解我多日困擾問題
謝謝您
css
一般會員


發表:24
回覆:17
積分:8
註冊:2006-08-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-01-12 22:17:32 IP:220.132.xxx.xxx 訂閱
謝謝 Hagar  大大 終於解我多日困擾問題
謝謝您
系統時間:2024-04-24 6:53:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!