在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中的注释语。很明显是不安全的。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值