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

請問要怎麼判斷 Primery Key?

答題得分者是:sos_admin
cherry
一般會員


發表:16
回覆:26
積分:8
註冊:2002-06-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-15 10:57:44 IP:211.23.xxx.xxx 未訂閱
大家好: 請問要怎麼判斷資料表中的特別欄位(Primery Key)? 主要是想做一個資料表對拷的功能, 下面是我的想法, 如果有不對的地方, 麻煩跟我說一下, 謝謝... 只要提供三個參數(SourceTbl, TargetTbl, SQLCommand) 然後就將所有欄位的資料對拷, 不過呢, 要特別注意索引的欄位... cherry
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-15 12:13:25 IP:210.200.xxx.xxx 未訂閱
你好!! 其實要判斷Primary Key欄位的方法不難,在此提出兩種方式: 1.由資料庫中,抓取資料庫的System Table(如果Database有提供的話) 應該就可以抓到某一Table的相關資料 2.我們假設妳抓取資料的SQL Command 是使用 Select * From XXX的方式 進行資料的抓取(沒有遺漏任何一個Field),所以;我們可以先讀出幾筆 資料作樣本進行資料比對就可以得到答案了!!(通常前幾個欄位為) Primary Key Field的機率很高!!
cherry
一般會員


發表:16
回覆:26
積分:8
註冊:2002-06-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-15 12:34:37 IP:211.23.xxx.xxx 未訂閱
謝謝G01的回答~ 因為資料庫是Access, 所以沒有system table. 再請問一下 你說可以先讀出幾筆 資料作樣本進行資料比對 這句話的意思的什麼 我不太瞭解 可以稍作說明嗎? 麻煩你了, 謝謝...
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-15 12:55:47 IP:61.155.xxx.xxx 未訂閱
使用DataType属性来判断是否为ftAutoInc即可,用adoquery举例如下:     for i:=0 to  ADOQuery1.RecordCount -1 do   if ADOQuery1.Fields[i].DataType=ftAutoInc then             showmessage('第'+inttostr(i+1)+'个字段是Primery Key')    这个方法只能对付access默认类型[自动编号]定义的字段 發表人 -
cherry
一般會員


發表:16
回覆:26
積分:8
註冊:2002-06-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-15 13:11:51 IP:211.23.xxx.xxx 未訂閱
原來是用DataType 來判斷...    sos_admin 謝謝你喲
系統時間:2024-11-25 22:54:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!