数据库开发及ADO.NET(43)——增加新的SQL语句、TypedDataSet、强类型DataSet其他(面试:如何优化访问数据库的效率)

一、增加新的SQL语句

1、设计器的Adapter中点右键,选择“添加查询”→“使用SQL语句”,就可以添加多种类型的SQL语句。如果是“SELECT(返回行)”则SQL语句的列必须是对应DataSet类的父集合,生成两个方法:FillBy*和GetBy*,方法名根据查询语句的意义定,比如FillByAge,FillBy是将结果填充到现有DataSet,GetBy是将结果以DataSet方式返回,建议两个都生成,方便以后用。看看默认生成的GetData就明白了。

2、GetDataById、IncAge

3、“SELECT(返回单个值)”就是ExecuteScalar

4、对于增加的SQL语句在代码中是以方法的形式使用的。方法的参数类型、顺序就是VS猜测的,如果不正确或者需要调整只要选中对应的语句,然后在【属性】窗口中修改Parameters属性即可。

5、增加新的SQL语句本质论,探寻源码:不能并发调用。

6、像使用普通类的方法一样使用Adapter。SQL语句不用再写在界面代码中。这就是一种数据访问层(DAL:Data Access Layer)

二、TypedDataSet练习

7、用类型化DataSet重写登录、数据导入、手机号码归属地查询、省市选择等程序。

8、补充问题:

  • 看mdf中数据没有改变?把那段代码放到Main中。
  • 登录错误三次被锁定的问题,输入对了也不让登陆,这是错误码?就应该如此,防止暴力破解。
  • 执行UpdateQuery以后本地DataSet并没有更新。

三、强类型DataSet其他

9、通过查看生成的源代码的值,生成的强类型TableAdapter默认每次调用方法都是打开连接、执行、关闭连接,而如果操作之前连接已经打开则不会自动帮我们连接、关闭,因此如果想批量操作提高效率可以操作之前先自己Open,操作完毕再Close。经测试:插入三千条数据,不优化用了45秒,优化后只用一两秒。回答面试问题:如何优化访问数据库的效率

 adapter.Connection.Open();
            for (int i = 0; i < 3000; i++)
            {
                adapter.Insert(i.ToString(), i.ToString(), 0);
            }
            adapter.Connection.Close();

 

10、常见错误:DataSet ds = new DataSet();ds = GetData();变量名和对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值