SqlCommand的使用
来源:互联网 发布:天刀捏脸详细数据男 编辑:程序博客网 时间:2024/05/17 02:54
一.创建SqlCommand对象的方法
1.cmd=new SqlCommand(); //直接创建
cmd.Connection=cn;
cmd.CommandText=strSQL;
2.cmd=new SqlCommand(strSQL,cn); //调用构造函数创建
3.cmd=cn.CreateCommand(); //使用SqlConnectiion对象的CreateCommand方法
cmd.CommandText=strSQL;
二.执行查询 (基于SqlDataReader的操作方式)
cmd.ExecuteReader() //返回一个SqlDataReader
读取方法:
A.读取几列值
SqlDataReader rdr=cmd.ExecuteReader();
while (rdr.Read())
Console.WriteLin(“{0} {1} {2:d},rdr[“OrderID”],rdr[“CustomerID”],rdr[“OrderDate”]”); //当存在可用列时,只需要调用SqlDataReader的索引器,并传递列的名称。SqlDataReader使用一般Object数据类型返回列的内容。
rdr.Close();
B.读取单一值
SqlDataReader rdr=cmd.ExecuteReader();
rdr.Read();
decimal decOrderTotal=(decimal)rdr[0]; //rdr[0] 表示检查第一行第一列的数据
以上语句可以用一句语句代替:
decimal decOrderTotal=(decimal)cmd.ExecuteScalar();
2.执行不返回结果集的查询
cmd.ExecuteNonQuery()
可根据ExecuteNonQuery()方法的返回值来判断执行的结果。
3.其它
使用Using块
using (SqlCommand cmd=new SqlCommand(strSQL,cn))
{
try{
using (SqlDatareader rdr=cmd.ExecuteReader())
{
while(rdr.read())
{ …}
}
}
}
基于序号
int intcustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”);
rdr[intcustomerIDOrdinal];
强类型getter
int intcustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”);
rdr.GetString(intcustomerIDOrdinal)
应当总是使用适当的强类型getter,它们与结果集中列所返回的数据相对应,如果不能确定调用哪种类型getter,可以调用GetFieldType方法,传递需要的列的序号为参数。 处理Null值 在处理字符串内容之前,需确定该字符串已被初始化。 如果正在从一个可能包含Null值的列中获取数据,请在尝试访问前检查其值。 使用isDBNull方法(只接受一个表示列序号的整数) while (rdr.Read()) { order=new Order() order.OrderID=rdr.GetInt32(0); … if(rdr.IsDBNull(3)) order.ShippedDate=null; else order.ShippedDate=rdr.GetDateTime(3); }
如果一个列的数据库值为Null,并且调用SqlDataReader的一个强类型getter(返回一个.NET数据类型如String,DataTime,Int32)则会产生一个SqlNullValueException.
string str;
if(str==null)
空值出错提醒
else
intLength=str.Length;
- 使用SqlCommand的参数
- SqlCommand的使用
- SqlCommand的使用
- SqlCommand对象-存储过程的使用
- SqlCommand对象-ExecuteNonQuery()方法的使用
- SqlCommand对象-ExecuteScalar()方法的使用
- SqlCommand对象-存储过程的使用
- SqlCommand对象的返回参数使用
- .net使用中sqlcommand的用法
- C#中SqlCommand类的使用
- .net使用中sqlcommand的用法
- SqlCommand使用实例
- SqlCommand.ExecuteNonQuery与SqlCommand.ExecuteScalar的区别
- c#学习笔记(数据库连接以及SqlDataReader、SqlCommand的使用)
- ASP.NET基础教程-SqlCommand对象-存储过程的使用
- ASP.NET基础教程-SqlCommand对象-Transaction事务的使用
- sqlconnection, sqlcommand, sqltransaction,SqlParameter连接数据库的几个对象使用
- C#之中SqlCommand以及相关函数的使用
- Qt 笔记: 关于 QDialogButtonBox
- 最简单的农历显示软件
- C++ Templates笔记 6 缺省模板实参
- C#入门的比较有意思的一个欢迎控制台程序!
- readyState的五个状态
- SqlCommand的使用
- 上传问题总结(文件大小检测,大文件上传)
- 常用高级语言
- 使用 Selenium 和 TestNG 进行编程式测试
- CMMI与敏捷开发模式
- PL/SQL 块的学习(精华)
- BITAND
- C# 扩展方法
- 宁做创业狼,不做打工狗