.net每日收获
一、textarea标签换行
Replace("\r\n", "<br>");
二、contains全文索引
contains(字段名,‘要查询的关键字’)
三、实现海量数据分页
方法一:存储过程实现
CREATE procedure [dbo].[p_splitpage]
@sql nvarchar(4000), --要执行的sql语句
@page int, --要显示的页码
@pageSize int, --每页的大小
@pageCount int output, --总页数
@recordCount int output --总记录数
as
set nocount on
declare @p1 int
exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
set @recordCount = @pageCount
select @pagecount=ceiling(1.0*@pagecount/@pagesize)
,@page=(@page-1)*@pagesize+1
exec sp_cursorfetch @p1,16,@page,@pagesize
exec sp_cursorclose @p1
方法二:Dataset实现
MyAdapter.Fill(DataSet,StartRow,RowsCount,TableName);
方法三:用PagedDataSource类实现
PagedDataSource objPds = new PagedDataSource();
objPds.AllowPaging = true;
objPds.PageSize = PageSize;
objPds.CurrentPageIndex = CurrentPage - 1;
objPds.DataSource = dsSave.Tables[0].DefaultView;
四、Dataset 相加
dsSave.Merge(dset, false, MissingSchemaAction.Add);
五、字符串按自定义排序
Sign(Charindex('关键字',字段名)) 自定义字段名
返回(1.找到,0.没有找到,-1,不存在)
六、缓存设置
public static void SetCache(string CacheKey, object objObject ,int hours)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
System.Web.HttpRuntime.Cache.Insert(CacheKey, objObject, null, DateTime.Now.AddHours(hours), TimeSpan.Zero, CacheItemPriority.Default, null);
}
七、去掉3个以上空格
Regex.Replace(s, "\\s{3,}", "");
八、局部临时表与全局临时表的区别
1、局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。
2、全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。
3、不管局部临时表还是全局临时表,只要连接有访问权限,都可以用drop table #Tmp(或者drop table ##Tmp)来显式删除临时表。
九、判断SQL字段数据长度
len(字段名)
十、比较ArrayList集合中是否指定元素
al.contains(元素)
十一、过滤html标签
Regex.Replace(contect, "<(.*?)>", "", RegexOptions.Singleline);
十二、ROW_NUMBER()使用
USE temp
GO
WITH OrderedOrders AS
(SELECT *,
ROW_NUMBER() OVER (order by ID)as RowNumber
FROM dbo.Users )
SELECT *
FROM OrderedOrders
WHERE RowNumber between 1 and 10000
go
十三、如何清除textBox的cookies
AutoComplete="off"
十四、SQL数据库如何查看SQL语句查询效率
set statistics profile on
set statistics io on
set statistics time on
十五、清除SQL数据库数据缓存
DBCC DROPCLEANBUFFERS 从缓冲池中删除所有清除缓冲区。
DBCC FREEPROCCACHE 从过程缓存中删除所有元素。
十六、获取\失去焦点时触发清空当前文本框
onfocus="this.value='';"
onblur="this.value='';"
十七、MSSQL设置在每周第一天为星期几
set datefirst (1-7)
十八、利用 ISAPI_Rewrite 做301永久转向
#301域名重定项
RewriteCond Host: ^tradevv\.com$
RewriteRule (.*) http\://www\.tradevv\.com$1 [I,RP]
#301单页面重定项
RewriteRule ^/vs-([^/]*)$ /vs-$1/ [I,RP]
RewriteRule ^/chinasuppliers/([^/]*)/products-detail/china-([^/]*)-([^/^-]*).html$ /chinasuppliers/$1_p_$3/china-$2.html [I,RP]
十九、选择数据库恢复模式
完整恢复模式:
ALTER DATABASE database_name SET RECOVERY FULL;
大容量日志恢复模式:
ALTER DATABASE database_name SET RECOVERY BULK_LOGGED;
简单模式:
ALTER DATABASE database_name SET RECOVERY SIMPLE
二十、快速删除SQL表数据
TRUNCATE TABLE table_name
二十一、页面防止多次提交
方法一.Request.Headers["Accept"] != "*/*" (仅支持IE)
exec sp_configure 'show advanced options', '1';
go
reconfigure;
go
exec sp_configure 'clr enabled', '1'
go
reconfigure;
exec sp_configure 'show advanced options', '1';
go
二十三、截取字符用省略号代替
width:200px;
white-space:nowrap;
word-break:keep-all;
overflow:hidden;
text-overflow:ellipsis;
二十四、删除数据库临时表
IF OBJECT_ID('tempdb..#tempName') IS NOT NULL
BEGIN
DROP TABLE #tempName
END
1、修改字段名:
alter table 表名 rename column A to B
2、修改字段类型:
alter table 表名 alter column 字段名 type not null
3、修改字段默认值
alter table 表名 add default (0) for 字段名 with values
如果字段有默认值,则需要先删除字段的约束,在添加新的默认值,
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名')
and b.name='字段名'
根据约束名称删除约束
alter table 表名 drop constraint 约束名
根据表名向字段中增加新的默认值
alter table 表名 add default (0) for 字段名 with values
4、增加字段:
alter table 表名 add 字段名 type not null default 0
5、删除字段:
alter table 表名 drop column 字段名;