程序小帖士

 Asp.Net     Sql数据库

 

1、当在VS2005中卸载一个现有的项目再移除项目后,编译网站时会出现错误——项目""不在解决方案中,不能编译,解决方法以下:
    右键网站->属性页->引用->把列表中刚移除的项目的引用删除->OK^^

2、当用cookies保存中文时,需要用到HttpUtility.Encode、Decode对中文进行编码,不然会乱码。详细可参考以下网址:



http://support.microsoft.com/default.aspx?scid=kb;zh-cn;313282 3、如何在XHTML中循环反向输出XML的节点内容? 解决方法是需在xslt文件中设置xsl:sort属性,例如:

< xsl:for-each  select ="//DailyEnglish/DailyNode" >
   
< xsl:sort  order ="descending" />    //设置循环方式
   
< li >
        
< xsl:value-of  select ="@Date" />
        
< xsl:value-of  select ="@Chn" />  
   
</ li >
</ xsl:for-each >

4、轻松筛选掉DataTable中的重复行
DataView dv  =  dt.DefaultView;   //  dt是DataTable实例
dt  =  dv.ToTable( true );          // ToTable()函数的参数distinct设为true,默认false
ToTable()函数的其中一个重载声明如下:
public  DataTable ToTable (
    
bool  distinct,
    
params   string [] columnNames
)


5、设置随机数种子

System.Random random  =   new  Random(Guid.NewGuid().GetHashCode());

 

6、获取数据库用户表

SELECT   OBJECT_NAME (id)  AS   OBJECT_NAME USER_NAME (uid)  AS   USER_NAME
      type  AS  TYPE, crdate  AS  DATE_CREATED
FROM  sysobjects
where  xtype = ' U '   and  name <> ' dtproperties '
order   by   [ name ]

 

7、获取数据库用户视图

SELECT   OBJECT_NAME (id)  AS   OBJECT_NAME USER_NAME (uid)  AS   USER_NAME
      type  AS  TYPE, crdate  AS  DATE_CREATED
FROM  sysobjects
WHERE  (type  =  N ' V ' AND  ( permissions (id)  &   4096   <>   0 AND  ( ObjectProperty (id, 
      N ' IsMSShipped ' =   0 )
order   by   [ name ]

 

8、获取表的字段定义信息

ContractedBlock.gif ExpandedBlockStart.gif Code
SELECT
(case when a.colorder=1 then d.name else '' end) N'表名',
a.colorder N'字段序号',
a.name N'字段名',
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else ''
end) N'标识',
(case when (SELECT count(*)
FROM sysobjects
WHERE (name in
(SELECT name
FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid
FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid
FROM syscolumns
WHERE (id = a.id) AND (name = a.name))))))) AND
(xtype = 'PK'))>0 then '' else '' end) N'主键',
b.name N'类型',
a.length N'占用字节数',
COLUMNPROPERTY(a.id,a.name,'PRECISION'as N'长度',
(case when a.isnullable=1 then ''else '' end) N'允许空',
isnull(e.text,'') N'默认值',
isnull(g.[value],''AS N'字段说明'
FROM syscolumns a
left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' and d.name=@TableName    --@TableName查询的表名
left join syscomments e
on a.cdefault=e.id
left join sysproperties g
on a.id=g.id AND a.colid = g.smallid
order by object_name(a.id),a.colorder

 

9、获取表或视图的字段名称

ContractedBlock.gif ExpandedBlockStart.gif Code
select a.name as N'字段名'
from syscolumns a inner join sysobjects d
on a.id=d.id and (d.xtype='U' or d.xtype='V'and d.name<>'dtproperties' and d.name='Order Details Extended'
order by object_name(a.id),a.colorder

 

10、获取所有数据库名

SELECT  Name  FROM  Master..SysDatabases  ORDER   BY  Name 

 

11、获取系统所有定义颜色

Array colors  =  System.Enum.GetValues(  typeof (KnownColor) );
foreach object  colorName  in  colors )
{
    defaultColors.Add(Color.FromName(colorName.ToString()));

}


 12、匹配url的正则表达式

(http | ftp | https):\ / \ / [\w] + (.[\w] + )([\w\ - \.,@ ?^=%& amp;: / ~\+#]*[\w\-\@?^=%&amp; / ~ \ + #])

 

 13、匹配特定的html标签 

\ < ( ?=/? ( ? :sub | sup | b)[\s\ > ])[ ^> ] *?>      // 匹配 sup, sub, b 标签,可用于过滤特定标签

 

 

 

14、用javascript防止重复提交表单
function SubmitOnce(btn)   
{
  btn.value  =   " 正在提交 " ;
  btn.disabled = true ;
}

使用时,只要把button的OnClientClick属性设为SubmitOnce(this),并设UseSubmitBehavior为false,不然不能触发按钮事件。UseSubmitBehavior需设为false的原因,可参考以下两篇文章:
禁用(灰化) Button 后提交的问题
ASP.Net随想_服务器控件的页面请求模型

 

15、在关闭页面前提示

window.onbeforeunload = function(){
    
return   " the text will lose. " // 返回文本会在弹出对话框中显示
}
onbeforeunload事件触发的时候会弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。

事件函数可以设一个返回值作为该对话框的显示文本。

 

16、动态输出用户控件内容

假如有用户控件MyUserControl,具有属性GroupId,现在需要在单击页面上某按钮后,动态输出控件的HTML内容到word中,可以使用以下代码:

using  (StringWriter output  =   new  StringWriter())
{
      Page tPageHoder  =   new  Page();    //  创建用户控件加载处理页面
      MyUserControl control  =  (MyUserControl )tPageHoder.LoadControl( " ~/Module/MyUserControl.ascx " );
      control.GroupId  =  groupId;    //  属性赋值
      tPageHoder.Controls.Add(control);    //  把用户控件加载页面控件树
      HttpContext.Current.Server.Execute(tPageHoder, output,  false );    //  执行页面处理流程,并把最后内容输出保存
      PageHelper.ExportToWord(output.ToString());   //  输出到word
}

 

17、Sql Server数据库由单用户模式改为多用户模式

ExpandedBlockStart.gif 代码
USE  master;
GO
DECLARE   @SQL   VARCHAR ( MAX );
SET   @SQL = ''
SELECT   @SQL = @SQL + ' ; KILL  ' + RTRIM (SPID)
FROM  master..sysprocesses
WHERE  dbid = DB_ID ( ' [DBName] ' );      -- [DBName]是把数据库修改为单用户模式的执行数据库

EXEC ( @SQL );
GO
ALTER   DATABASE   [ DBName ]   SET  MULTI_USER;   -- 这里[DBName]是要修改为多用户的数据库名

 

 

 

 

转载于:https://www.cnblogs.com/vento/archive/2007/12/04/982673.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值