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

請問如何判斷SQL server 與access其索引名稱是否存在

答題得分者是:Mickey
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-24 10:03:33 IP:211.74.xxx.xxx 未訂閱
請問如何判斷SQL server 與access其資料庫的索引名稱是否存在? 謝謝
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-24 10:21:54 IP:63.84.xxx.xxx 未訂閱
您好﹗    
Var
  I : Integer;
begin
  For I:=0 to ADOTable1.RecordCount-1 do
    if ADOTable1.Field[I].DataType = ftAutoInc then
      ShowMessage('第' IntTo(I 1) '個欄位是Primary Key');
end;
參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
hagar
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-24 10:33:45 IP:202.39.xxx.xxx 未訂閱
1.TAdoDataset.GetIndexNames 2.TAdoConnection.OpenSchema, 參考(siIndexes 那個):  http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&selm=3b5ec47e_1%40dnews 3.Import ADOX and read Index properties, 參考: http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&selm=3e53c8cb%40newsgroups.borland.com    --- 歡迎光臨 KTop 研究院
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-24 10:49:25 IP:218.163.xxx.xxx 未訂閱
MSSQL : 可下SQL "select count(*) from sysindexes where name='[IndexName]'" ACCESS : 用 BDE 為例, 參考看看
procedure GetIndexList(DB : TDatabase; IndexList : TStrings);
var T,L : TStrings;
    B : TTable;
    i : integer;
begin
  T := TStringList.Create;
  L := TStringList.Create;
  B := TTable.Create(nil);
  B.DatabaseName := DB.DatabaseName;
  try
    DB.GetTableNames(T,False);
    for i := 0 to T.Count-1 do begin
      B.Close;
      B.TableName := T[i];
      B.GetIndexNames(L);
//      IndexList.Add('Table :'  T[i]);
      IndexList.AddStrings(L);
    end;
  finally
    L.Free;
    T.Free;
    B.Free;
  end;
end;
取出 IndexList 後, 用 IndexList.IndexOf('[IndexName]')=-1 來判斷.
系統時間:2024-07-02 0:19:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!