6-15笔记

1、对于连接对象,如果写在了using里面,即便发生了异常,当using语句退出时候也会调用Dispose()方法,也会释放资源,所以可以在using中使用连接对象,而不用try-catch。
2、ExecuteScalar(),内部就是对ExecuteReader()的一个封装;返回值是单行单列。
3、insert into TblClass output inserted.tclassId values('黑马4期','热招中'),执行插入语句返回生成的自动编号。
4、执行任何sql语句其实调用Command对象的ExecuteScalar()、ExecuteReader()、ExecuteNonQuery()都可以,只不过是执行对应的语句如果选对了方法,用起来更合适。
5、SqldataReader
特性1:由于每次向前走一步,都会将上一条记录销毁,所以DataReader是只进的;特性2:只能读取数据,不能修改数据,因为查询出的数据集是一个独立的服务器内存中的数据,已经与原表没有关系了。特性3:使用时必须保证Sqlconnection的Open状态。
6、reader["ClassName"],经反编译索引器里面调的就是GetValue()方法。
reader[0],一般没有特殊情况,建议使用索引来获取信息,不要使用列名(效率低下)。在循环外面根据列名先计算出来索引,然后在循环里面还是使用索引。
7、数据库中的float,这里得用getDouble()来获取。
8、当多个结果集的时候可以调用nextResult();9、一般情况datareader独享一个Connection。
10、当当前列如果为null的话,调用强类型的获取数据的方法就报错了,此时就需要获取数据之前做一个判断,通过reader.ISDBNull(index)来验证。
11、ado.net的连接池:1-企业连接池与禁用连接池为什么性能差距这么大?当启用连接池后,看似是2000次的登录与注销(连接的打开和关闭),其实只有一次打开,当程序关闭后,才会关闭。所以高性能。2-而禁用连接池后,才是真正的打开关闭2000次。
12、连接池使用总结:1-第一次打开连接会创建一个连接对象。2-当这个连接关闭时(调用Close()方法时),会将当前连接对象放入池中。3-下一个连接对象,如果连接字符串与池中现有的连接字符串一致,则会使用池中现有连接,而不会重新创建一个。4-只有调用Close()的时候此时放入池中,如果一个连接对象一直在使用,则下次再创建一个连接对象发现池中没有,也会在创建一个新连接对象。在池中的连接对象,如果过一段时间没有访问,则会自动销毁。
13、year(1986-11-20),得到的就是年的部分,1986。只要不要分组就可以在select后加*,
14、datediff(month,'2012-7-4','2012-7-19')可以验证是否为同一月份。
15、连接对象不可以重复打开,可以重复关闭。
 16、ExecuteNonQuery方法用来执行insert、delete、update语句。
17、数据库尽量保证最晚时间打开,
最早时间关闭。用之前在打开,用完后就关闭。
18、HasRows属性,用来判断这次查询是否查询除了数据,如果查询除了数据则开始循环获取每一条数据。
19、在reader使用过程当中,必须保证connection是打开状态。


6-16笔记
1、ExecuteNonQuery()执行insert,delete,update,返回的是所影响的行数,执行其他语句返回的都是-1。

2、带参数的SQL语句和存储过程都能防止注入漏洞攻击,但SQL语句其实也是调用了一个executesql存储过程来避免注入漏洞攻击。

3、在数据库中两个'表示一个';'',转义一个'。

4、addwithvalue就是为了方便,内部就是调了一个add。


5、编写实体类的时候一定要有属性,不要用字段。      


6、创建行不能new,是通过系统给我们new的,把创建好的行加到集合中去,多创建几行,先运行一下循环输出数据,  
   
7、强类型转换的时候要用IsDBNull来判断一下,不然会报错。
string objClaDesc =reader.IsDBNull(2)?"NULL":reader.GetString(2);

8、执行SQL语句返回一个DataReader,当返回Datereader的时候,注意:1-connection不能关闭;2-DataReader不能关闭;3-command对象执行ExecuteReader()的时候需要传递一个CommangBehavior.CloseConnection。

9、SqlDataAdapter内部封装了SqlConnection、Sqlcommand、SqlDataReader。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值