當資料庫返回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...