在C#中的几点技巧

一、在SQLSERVER设计中,DATETIME类型的数据的默认值设定时:‘1900-01-01’和0是一样的,但是1900-01-01的结果就非常奇怪了。
二、在C#中不能处理数据库中的空值即:NULL,所以要设定默认值。
三、可以级联删除,但是可以不用。
四、在SQL语句中,不用参数的形式而用连接字符串时,容易出错,并存在安全漏洞。
比如:
连接字符串的形式:string sSql="Select * from Employee where Name='"+TxtUserName.Text +"' and Password='"+TxtPassword.Text +"'";
参数的形式:string sSql="Select EmployeeID,Power from Employee where Name=@Name and Password=@Password"

连接字符串的形式容易出错的例子:TxtUserName.Text=“ddd'dddd”肯定报错,因为SQL语句中的‘的不对应;
连接字符串的形式安全漏洞的例子:TxtUserName.Text=“DDD' OR 1=1 --”
                            或:TxtUserName.Text=“DDD' delete from tablename --”
--是SQLSERVER中的注释语。很明显是不安全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值