從DB中返回table schema的說明

2022-02-14 18:04:14 字數 913 閱讀 8562

當資料庫返回datareader物件或datatable物件時,可以通過對應的getschema方法或datacolumn取得對應的表的字段定義,包括columnname和datatype.

但這個方法預設情況下是沒法取得varchar或char的length,始終返回是-1. 需要顯示的在dataadapter.fill(dataset)之前顯示的宣告一句:

dataadapter.missingschemaaction = missingschemaaction.addwithkey;

對於絕大多數標準的表而言,利用上面的語句,在返回資料的時候即可得到完整的datacolumn的定義. 但如果有些表的資料不規範,如not null欄位中恰好為有null值,則新增了上面的語句再fill則報錯.

因此,最通用的方法是使用da.fillschema()方法取得單獨的字段定義,返回乙個dataset.當然此種方法有個不利之處就是返回資料和返回schema是兩個查詢, 效能上會有些問題. 完整的getschema的示例**如下:

getschema.cs

1using

system;

2using

system.data;

3using

system.data.sqlclient;45

class

fillschema631

32foreach

(constraint myconstraint 

inmydatatable.constraints)

3339}40

41foreach

(datacolumn mydatacolumn 

inmydatatable.columns)

4254}55

56console.readkey();

57}58

}59

從函式中返回值

1.從函式中返回值 如果你的函式要返回乙個結果,那麼你就需要用return把那個結果交給呼叫它的地方 例一 素數求和 int isprime int i idprime有乙個返回的型別,是int型別,這個isprime會返回乙個int的結果 所以要安排乙個return語句,讓它去返回乙個int re...

python 從函式中返回函式

其實並不需要在乙個函式裡去執行另乙個函式,我們也可以將其作為輸出返回出來 def hi name yasoob def greet return now you are in the greet function def welcome return now you are in the welco...

從函式中返回TstringList物件 摘

from 如果乙個函式返回的物件不是我們經常使用的integer,string.而是tstringlist tbutton等object那怎麼辦呢?為什麼會有這個問題,因為函式的result是乙個object,按照object pascal要求,是需要其owner釋放 free 舉例 functio...