![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【MS-SQL】
文章平均质量分 74
mark4ever
这个作者很懒,什么都没留下…
展开
-
.NET中的数据库中的事物与并发
并发的概念: 两个用户对同一个数据进行操作。一般处理方法为进行SQL操作加锁。这里主要谈一下事物这个概念。事物:事物是将一系列的操作组合在一起的方式,使操作要么全部成功,要么全部失败。在使用事务时,即使一些操作成功,但有一个操作失败,之前的操作也将进行“回滚”,结果就像这些操作没有进行过一样。典型的例子就是:当用户从银行一个账户上转账到另外一个账户上的时。其中有两部操作。1.从自己账户取钱。2.向别人账户存钱。这时,无论哪一步操作失败,都会造成不同的后果,如账户莫名其妙的多了钱,少了钱。所以我们要做的就是,原创 2010-12-07 16:35:00 · 4095 阅读 · 3 评论 -
char、varchar、nchar、nvarchar的区别
对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这里做一下对比。定长或变长所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;有var前缀的,表示是实际存储空间是变长的,比如varchar,nvarchar变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。Unicode或非Uni原创 2010-11-11 18:50:00 · 542 阅读 · 0 评论 -
防止SQL注入
string sqlStr = ”用户输入“;//先做一个判断if(sqlStr.IndexOf(';') != -1){//Do Something}//再做一个替换sqlStr=sqlStr.Replace("'","''"); //将一个单引号'替换为两个单引号'',而不是双引号",在sql中,单引号是转义符。try{ conn.open(); //Some SqlComman;}catch (Exception ex){ Response.Write原创 2010-11-25 22:41:00 · 375 阅读 · 0 评论 -
彻底杜绝SQL注入
彻底杜绝SQL注入 1.不要使用sa用户连接数据库 2、新建一个public权限数据库用户,并用这个用户访问数据库 3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限 4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×” 5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高): DECLARE@Tvarchar(255), @Cvarchar(255) DEC原创 2011-02-26 01:59:00 · 698 阅读 · 0 评论