SqlDataReader的认识
来源:互联网 发布:数据精灵有安卓版吗 编辑:程序博客网 时间:2024/05/21 09:53
跟其他类一样,使用它需要先声明对象.SqlDataReader rd=new comd.ExecuteReader();(在使用SqlCommand对象的时候)
SqlDataReader有一个HasRows属性,可以判断出查询的结果集中有没有数据.可以把rd理解成有一个小人,他去数据库中跑了一趟,目的是去看看在执行查询后有没有数据.回来的时候手里有一张纸条,写着有没有数据.如果有数据,就可以再调用rd的reader()方法,去一条条的取数据放到本地.如果有多天数据可以用循环来读取.
一个例子:
static void Main(string[] args) { string constr = "data source=thinkpad-think;initial catalog =itcast2013;integrated security=true"; using (SqlConnection conn = new SqlConnection(constr)) { string sqlstr = "select * from tblperson"; using (SqlCommand comd = new SqlCommand(sqlstr, conn)) { conn.Open(); using (SqlDataReader reader = comd.ExecuteReader()) { if (reader.HasRows) { //在循环外面先根据列名获取列的索引 int unameIndex = reader.GetOrdinal("uname"); int autoIdIndex = reader.GetOrdinal("autoId"); //然后在循环中使用 unameIndex,autoIdIndex来进行索引..就可以解决按照固定顺序来进行显示的问题 //根据索引获取列名 //reader.GetName() while (reader.Read()) { //通过datareader获取值,方法一: //reader[index]通过reader的"索引器"来获取列 //reader[列名]索引器也可以写列名来访问列数据 //方法二 :reader.getvalue(index); //=========以上两种那方法返回的都是object类型 //============"强类型"获取列的数据 //这里reader.getint32(列索引),索引取决于查询时,指定的顺序,并不是与表中的列索引始终一致 //切记:在循环里面一定要使用列索引来获取数据 //不要在循环中使用列名获取数据 int autoid = reader.GetInt32(0); string uname = reader.GetString(1); //当表中数据为null是,直接调用reader.getxxx()这种方法会报异常 //解决:先判断当前列的数据是否为null int age = reader.IsDBNull(2) ? -1 : reader.GetInt32(2); int height = reader.IsDBNull(3) ? -1 : reader.GetInt32(3); Console.WriteLine( "{0} {1} {2} {3}",autoid,uname,age,height); } } } } } Console.ReadKey(); }
- SqlDataReader的认识
- sqldatareader:使用SqlDataReader注意的几点
- SqlDataReader的问题
- 忘不了的恨~~SqlDataReader
- SqlDataReader的使用方式
- SqlDataReader引发的异常
- SqlDataReader 的用法
- SqlDataReader的Read方法
- sqldatareader.reader()的问题
- 关于sqlDataReader的问题
- SqlDataReader的注意事项
- SQLDataReader 发现的现象
- SqlDataReader
- SqlDataReader
- SqlDataReader
- SqlDataReader
- sqldatareader
- SqlDataReader
- 查找linux下的文件处在何方
- 二维数组和二维指针
- Android中String资源文件的format方法
- 数学之美读书笔记(三)
- python中添加自己py文件所在的目录的方法
- SqlDataReader的认识
- JAVA系列-设计模式-建造者模式
- 数学之美读书笔记(四)
- 南阳理工OJ_素数距离问题
- Android Input Framework(一)
- 数学之美读书笔记(五)
- 网络摄象机常用传输协议
- Linux网络编程(5):I/O模型
- Android系统服务一览