請問如何判斷SQL server 與access其索引名稱是否存在 |
答題得分者是:Mickey
|
shing.net
中階會員 ![]() ![]() ![]() 發表:207 回覆:124 積分:66 註冊:2002-03-16 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
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 發送簡訊給我 |
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 來判斷. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |