獲取最新顯示順序資料
string str = string.format(@"
if exists(select showorder from gis_funcdefaultlayer where gisfuncid = )
select max(showorder) as showorder from gis_funcdefaultlayer where gisfuncid =
else select '0' as showorder
", gisfuncid);
idatareader datareader =helper.executereader(commandtype.text, str);
if (datareader.read())//
判斷當前功能id下是否有資料
catch
(exception ex)
;return
result;}}
datareader.close();
//關閉
sqldatareader 自帶的getint32(以及其他的比如gerstring等)方法
只是獲取資料庫中對應資料型別的列,並不具有型別轉化的功能,所以不能這樣使用
解決方法有兩種
1.如需要返回int型別的,那麼資料庫中的字段就定義為int型別,則用getint32可行
2.若資料庫中定義的不是int型別,又想要返回int型別的,那麼就先用資料庫中對應的型別get出來,然後轉化
如int.parse(selectunitidread.getstring(0))
如果不需要返回int型別的,就如你上面寫的到的,最後是又轉化為了string
而資料庫中的型別就是與string對應的varchar,那麼你可以直接給下面的賦值
如:rmoutbackinfo.unitid = selectunitidread.getstring(0)
而不用再轉化為string
//解決 showorder=int.parse(datareader.getstring(0));
SqlDataReader和DataSet的選擇
幾乎在每次面試的時候都會被問道這個問題。使用.net開發當中讀取資料應該採用sqldatareader 還是dataset以及對這兩者的理解。先來談談我本人對這兩者的理解 1 sqldatareader 提供一種從sql server 資料庫讀取行的只進流的方式。無法繼承此類。白話解釋就是 使用這個...
關於SqlDataReader遍歷和快取結果集
大家都知道,datareader是效率比較高的獲取資料的方式,但是,讀取資料後我們必須及時關閉datareader,否則反而會占用資料連線的資源,如果有很多datareader沒有及時關閉,就會可能發生資料庫連線池超出鏈結數最大限制的錯誤。有時候需要從資料庫獲得乙個查詢的結果集,然後遍歷這個結果集,...
SqlDataReader類的初次使用誤區
using sqlcommand cmd connect.createcommand 將資料庫中的檔案通過select語句讀出來,看別人家這麼寫能夠通過但我的就不行了 前面的資料庫連線部分略了啊 我的就是不行,只能用上面注釋的那一行才行。還不明白啥原因,暫記一下,找到原因再補充。哎,上面的問題的確狗...