随手一记

1.在WinForm读取数据的时候经常会用到DataTable,而对读取的数据我们有时只想显示其中符合某些条件的数据,这个时候就可以使用DataTable的Select操作,dataTable.Select(”检查结果=‘“+result+”’“),其中检查结果是DataTable的Column Name,不要忘记result用用引号。

2.如何查询数据库中某一列的函数重复数据:

SQL语句:

select * 
from EMRInfo as a ,(select message  from EMRInfo group by message having count(*)>1) b
where a.message =b.message 

这条SQL语句可以查询出EMRInfo表中的message列中的重复数据

3.在使用DevExpress控件时,如果想使用某个皮肤,只要在Program.cs文件中注册一下皮肤就可以了,比如:

DevExpress.Skins.SkinManager.Default.RegisterAssembly(typeof(DevExpress.UserSkins.testSkin).Assembly);

这句话就表示程序使用自定义的皮肤testSkin,这个testSkin可以通过DevExpress自带的皮肤工具进行编辑。如果想使用BonusSkins皮肤,只需加入下面一句代码即可:

DevExpress.UserSkins.BonusSkins.Register();

 这个时候程序中就可以使用BonusSkins皮肤了。此外,如果不紧接着在下面添加

DevExpress.Skins.SkinManager.EnableFormSkins();

这段代码,Form边框是不会被应用皮肤风格的。

4.如何使DataTable中的数据是在一个时间段里:

string expression = "Update_Date > #2/23/2012# and Update_Date < #2/25/2012#";
DataRow[] drRows = dt.Select(expression);

5.获取DataTable中指定日期的数据:

(1)
//如果'2012-2-23*'不加“*”,会得不出正确结果。
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的用法参见微软官方网站:
http://msdn.microsoft.com/zh-cn/library/system.data.datacolumn.expression.aspx

6.关于ExecuteNonQuery执行存储过程的返回值

if(cmd.ExecuteNonQuery("xxxx")>0)
{
     //执行成功!
}
else
{
     //执行失败!
}

通过ExecuteNonQuery()的返回值来判断操作数据库的成功与否是可以的。但是要分情况:
1.ExecuteNonQuery() 不执行存储过程.
此时如果对数据库执行,插入,更新,删除操作,返回的是 受影响的行数.(及一个大于等于0的整数)
2.ExecuteNonQuery() 执行查询不返回影响的行数.
2.ExecuteNonQuery   执行存储过程.
[1].存储过程有返回值(传出参数)
    (1).把数据库中受影响的行数赋给返回值,这是得到的返回值是受影响的函数(大于或等于0的整数).
    (2).把某个值赋给返回值.
[2].存储过程没有返回值
    执行成功后返回 -1.
(没有返回值的存储过程理应 返回 受影响的行数 (执行 增删改) 但是.但我们在ado.net中执行存储过程的时候,dotnet 自动为给了存储过程一个默认值:set nocount on;
所以给我们的感觉是执行存储过程默认返回 -1  ,如果想要返回受影响的行数,只需将set nocount on改为set nocount off即可)

7.给SQL Server2005数据库的表设置多个主键:

只需在表的修改模式下,按住shift键然后选择要设置成主键的列,即可将所选择的列设置成为组合主键

posted @ 2012-02-23 00:16  MagiCube  阅读(278)  评论(0编辑  收藏  举报