台灣最大程式設計社群網站
線上人數
944
 
會員總數:245908
討論主題:189500
歡迎您免費加入會員
討論區列表 >> MS SQL >> [SQL]請問SQL有沒有可以抓資料表結構的指令
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[SQL]請問SQL有沒有可以抓資料表結構的指令
價值 : 0 QP  點閱數:4736 回應數:11
樓主

小賴
初學者
466 138
240 91
發送站內信

SQL有無指令
可以查詢資料庫中...資料表的結構
如....我要查詢Northwind 中ㄉ Employees中所有欄位的資訊

欄位名稱
欄位大小
欄位型態
欄位是否為主鍵
    是否有限制條件
    有無規則............可以用SQL敘述辦到ㄇ..


急問.......我需要這個功能...Think

本篇文章發表於2002-04-10 16:29
1樓
回應

maduka
捐贈 VP 給 maduka 檢舉此回應
在小站中的Library中,應該有你想要找的東西
Library==>ASP==>ADO物件==>Field
http://technology.maduka.idv.tw
本篇文章回覆於2002-04-10 16:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小賴
檢舉此回應
非常感謝....但是看起來好像要連線抓資料
好像  rsA.fields(1).Name 
      rsA.fields(1).Typer
      就可以ㄌ.....但....我是想要抓結構就好ㄌ
還有阿......我是要還沒有接收到資料就要知道這些資訊ㄝ.....

有辦法ㄇ
本篇文章回覆於2002-04-10 21:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

VB Teacher
檢舉此回應
用ADOX
本篇文章回覆於2002-04-10 21:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小賴
檢舉此回應
歐..........起碼講個語法吧.........範例範例....Think you 大哥.....
不用ADOX或ADO 單純SQL做得到ㄇ
本篇文章回覆於2002-04-10 22:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

葉子
檢舉此回應
sql server 內建的 預儲程式裡有
不然就是去找找table(systme的)
因為sql server 也是用 系統的table 存放 table 的資料的

當我們建立一個table時
sql server其實是把這個table的資料存入另一個系統用的table

好像是sys開頭的吧
之前有玩過

table name,欄位,data type,大小,key.....都是存入某個table裡的
我想這個table就是你要的....
本篇文章回覆於2002-04-10 22:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

小賴
檢舉此回應
可是........我如果是Accessㄋ....
不用Sql Server舊不行了ㄇ 
有沒有通用的做法阿............
我正在寫Access的....希望到時轉到SQL也能用....但...至少Access可以用
好感動...謝謝幫忙
本篇文章回覆於2002-04-10 22:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

葉子
檢舉此回應
你是指
用SQL 語法做.....

access 哇不知了

不然可以試試 OpenSchema
本篇文章回覆於2002-04-10 22:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

小賴
檢舉此回應
這個我試過.......這是Connection物件中的
但VB我用過正常...但是ASP無法使用本方法....要不然早就用了....
為了用這方法...我自己就寫了一個DLL檔來用OpenSchema方法讓ASP來擷取
但是不曉得為什麼VB正常可以接收傳回值.....但是...ASP就是有Trouble...
傳回值為陣列......但ASP接收到陣列好像...有問題...原始碼放在公司我明天貼上來
本篇文章回覆於2002-04-10 22:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

Allen
檢舉此回應
如果您覺得傳回Array有問題, 不妨改成傳回字串, 用逗號區隔
或者, 試試ADOX
本篇文章回覆於2002-04-11 09:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

小賴
檢舉此回應
謝謝大家的解救...........我暫時放棄用這些方法了...因為都遇上困難
我想到一個變通的方法ㄌ...就是抓取一個空的資料集(select 回來一個不可能成立的敘述....)
然後用 rsa.fields("XXX").name
          rsa.fields("XXX").type
          rsa.fields(""XXX").DefinedSize 
        ...就可以了....
本篇文章回覆於2002-04-11 13:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
用ADOX應該可以吧!
我自己是沒在ASP中使用過它, 但應該沒才題才是, 使用它除了可以取得欄名, 還可以增/刪欄位才對。

>我想到一個變通的方法ㄌ...就是抓取一個空的資料集(select 回來一個不可能成立的敘述....)
用SELECT * FROM TableName WHERE 1=2
應該可以傳回空的RecordSet
本篇文章回覆於2002-04-11 13:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.