随手一记
1.在WinForm讀取數(shù)據(jù)的時(shí)候經(jīng)常會(huì)用到DataTable,而對(duì)讀取的數(shù)據(jù)我們有時(shí)只想顯示其中符合某些條件的數(shù)據(jù),這個(gè)時(shí)候就可以使用DataTable的Select操作,dataTable.Select(”檢查結(jié)果=‘“+result+”’“),其中檢查結(jié)果是DataTable的Column Name,不要忘記result用用引號(hào)。
2.如何查詢數(shù)據(jù)庫(kù)中某一列的函數(shù)重復(fù)數(shù)據(jù):
SQL語(yǔ)句:
select * from EMRInfo as a ,(select message from EMRInfo group by message having count(*)>1) b where a.message =b.message這條SQL語(yǔ)句可以查詢出EMRInfo表中的message列中的重復(fù)數(shù)據(jù)
3.在使用DevExpress控件時(shí),如果想使用某個(gè)皮膚,只要在Program.cs文件中注冊(cè)一下皮膚就可以了,比如:
DevExpress.Skins.SkinManager.Default.RegisterAssembly(typeof(DevExpress.UserSkins.testSkin).Assembly);這句話就表示程序使用自定義的皮膚testSkin,這個(gè)testSkin可以通過(guò)DevExpress自帶的皮膚工具進(jìn)行編輯。如果想使用BonusSkins皮膚,只需加入下面一句代碼即可:
DevExpress.UserSkins.BonusSkins.Register();?這個(gè)時(shí)候程序中就可以使用BonusSkins皮膚了。此外,如果不緊接著在下面添加
DevExpress.Skins.SkinManager.EnableFormSkins();這段代碼,Form邊框是不會(huì)被應(yīng)用皮膚風(fēng)格的。
4.如何使DataTable中的數(shù)據(jù)是在一個(gè)時(shí)間段里:
string expression = "Update_Date > #2/23/2012# and Update_Date < #2/25/2012#"; DataRow[] drRows = dt.Select(expression);5.獲取DataTable中指定日期的數(shù)據(jù):
(1) //如果'2012-2-23*'不加“*”,會(huì)得不出正確結(jié)果。 string expression = "Convert(Update_Date, 'System.String') like '2012-2-23*'"; DataRow[] drRows = dt.Select(expression); (2) string expression = "SUBSTRING(Convert(Update_Date, 'System.String'),1,10) like '2012-2-22'"; DataRow[] drRows = dt.Select(expression);至于expression的用法參見(jiàn)微軟官方網(wǎng)站:
http://msdn.microsoft.com/zh-cn/library/system.data.datacolumn.expression.aspx
6.關(guān)于ExecuteNonQuery執(zhí)行存儲(chǔ)過(guò)程的返回值
if(cmd.ExecuteNonQuery("xxxx")>0) {//執(zhí)行成功! } else {//執(zhí)行失敗! }通過(guò)ExecuteNonQuery()的返回值來(lái)判斷操作數(shù)據(jù)庫(kù)的成功與否是可以的。但是要分情況:
1.ExecuteNonQuery() 不執(zhí)行存儲(chǔ)過(guò)程.
此時(shí)如果對(duì)數(shù)據(jù)庫(kù)執(zhí)行,插入,更新,刪除操作,返回的是 受影響的行數(shù).(及一個(gè)大于等于0的整數(shù))
2.ExecuteNonQuery() 執(zhí)行查詢不返回影響的行數(shù).
2.ExecuteNonQuery?? 執(zhí)行存儲(chǔ)過(guò)程.
[1].存儲(chǔ)過(guò)程有返回值(傳出參數(shù))
??? (1).把數(shù)據(jù)庫(kù)中受影響的行數(shù)賦給返回值,這是得到的返回值是受影響的函數(shù)(大于或等于0的整數(shù)).
??? (2).把某個(gè)值賦給返回值.
[2].存儲(chǔ)過(guò)程沒(méi)有返回值
??? 執(zhí)行成功后返回 -1.
(沒(méi)有返回值的存儲(chǔ)過(guò)程理應(yīng) 返回 受影響的行數(shù) (執(zhí)行 增刪改) 但是.但我們?cè)赼do.net中執(zhí)行存儲(chǔ)過(guò)程的時(shí)候,dotnet 自動(dòng)為給了存儲(chǔ)過(guò)程一個(gè)默認(rèn)值:set nocount on;
所以給我們的感覺(jué)是執(zhí)行存儲(chǔ)過(guò)程默認(rèn)返回 -1? ,如果想要返回受影響的行數(shù),只需將set nocount on改為set nocount off即可)
7.給SQL Server2005數(shù)據(jù)庫(kù)的表設(shè)置多個(gè)主鍵:
只需在表的修改模式下,按住shift鍵然后選擇要設(shè)置成主鍵的列,即可將所選擇的列設(shè)置成為組合主鍵
轉(zhuǎn)載于:https://www.cnblogs.com/magic-cube/archive/2012/02/23/2364095.html
總結(jié)
- 上一篇: com 名字对象(3)使用IMonike
- 下一篇: 【网络爬虫入门02】HTTP客户端库Re