break: normal; color: ; padding-bottom: 0px; text-align: left; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; min-height: auto; border-left: medium none; letter-spacing: normal; line-height: 21px; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">1.ExecuteNonQuery
对于Update、Insert、Delete执行并返回受影响行数
对于其他语句返回 -1
2.ExecuteScalar
执行查询、并返回结果的第一行、第一列,其他忽略。
3.ExecuteReader
将CommandText发送到Connection并生成一个SqlDataReader
4.说明:
1)Connection 理论上要最晚打开、最早关闭
2)Command也是实现了IDisposable接口的类,使用完需要Dispose()。
3)异常&必须关闭连接问题
try{ 可能出现异常的代码 }
catch { 处理 }
finally { conn.Close();
conn.Dispose();
}
这种做法的简化方法就是 using(),using()本身就是用try-finally实现的。
1.返回值
返回类型是Object。可以进行强转。
2.多用于
ExecuteScalar()多用于,使用聚合函数的sql语句。
3.是对ExecuteReader的封装
ExecuteScalar()是对ExecuteReader()的封装。内部也是用ExecuteReader封装的。
4.取出返回值中的数据
1) (int) xx 拆箱 不推荐使用
2) int.parse("xx") 推荐使用
3) Convert.ToInt32(xx) 推荐使用