ADO.NET 的 DataSet(很重要)

本文介绍了ADO.NET中DataSet的使用,包括如何在按钮中添加快捷键,SqlDataReader的资源管理,字段与属性的区别。还强调了数据库安全,如SQL注入攻击的防范,以及最佳实践如使用存储过程。此外,分享了窗体间跳转的技巧,DataTable、DataRow和SqlDataAdapter的操作,并提供了数据绑定到DataGridView的示例。
摘要由CSDN通过智能技术生成
经验:
  1. 控件 From : frm名称      frmLogin
  2. 如何在按钮中添加快捷键   登录(D)  这个是这么做的呢?  其实很简单  就是把按钮的  Text属性  改成   登录 (&D)
  3. 如果忘记了Sql数据库的connectionStrings ,
    1. 可以创建一个 文本文件, 后缀改为 udl 
    2.  开始设置具体连接方法,
    3. 用在记事本中打开 , 就可以看到连接数据库的 connectionStrings
  4. SqlDataReader 的对象记得要Close() , 不然就会占用这个资源 , 虽然出了 using 的 { } 的时候会释放,但是 释放和关闭时不一样的.
    1. 释放的意思是封闭了这个桥, 虽然封闭了, 但是在内存中还是占有内存的, 一段时间后才会关闭掉
    2. 关闭的意思是炸掉了这个桥,  
  5. 字段和属性的区别?
    1. 属性是类提供给外部调用时用,的可以使用 对象.属性 设置或读取 一个值
      get{reture xxx;}表示可读
      set{xxx = value;}表示可写
      
      字段就是类内部用的.存储数据
  6.      数据库的安全
    1. SQL注入攻击: 就是通过对一些的探测SQL中的数据的 SQL语句来进行分析 , 如果C#中 和数据库连接的安全逻辑不够,那个就可以不用用户密码就可以登入...
    2. eg: select count(*) from 表 where name = ' {0} ' and psw = '{1 }'  很多人多用这个来判断用户名和密码是否一致, 所以我们要找一个 {0} 和 {1} 的字符串使得 count(*) = 1 ,这样就可以不用知道账号密码登录.     这里有一个{0}就可以 了,   {0} =" ' or 1=1 -- " 这个就可以了,那个{1} 还都可以不用考虑, 虽然这里返回的不是 = 1 , 但是是 >0
    3. 因此,我们要注意以下几点
      1. 对客户输入进行判断 
      2. count ==  1 (王道)  就是我们验证是否有这个账号密码用这个   而不是  count > 0 
      3. 用存储过程开发 
  7. CTRL  + J 可以弹出 那个代码补全的部分(很好用)   .....
  8. 判断字符串为空的方法?    str.length == 0  
  9. 窗体之间的跳转?
    在frmLogin这个面板的 登录按钮 的那个登录成功的地方加上这几句
         this.DialogResult  = DialogResult.Yes ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值