C#_ACCP_Windows_ADO.NET(三)
来源:互联网 发布:web软件测试 编辑:程序博客网 时间:2024/05/16 00:45
ADO.NET(三) DataReader
Command 对象的 ExcuteScalar() 方法可以从数据库检索单个值 那么如何获取数据库中的多条
记录呢 使用 Command 的 ExcuteReader() 方法 可以返回一个 DataReader 对象 读取多条记录
DataReader 对象可以从数据库中检索只读 (不可以修改) 数据 每次从查询结果中读取一行
DataReader 对象的常用属性和方法
HasRows 是否有数据 返回结果 true false
FieldCount 当前行中的列数
Read() 读取下一行数据
Close() 关闭 DataReader
使用 DataReader 对象获取多行数据
SQL 建库代码
use mastergoif exists(select * from sysdatabases where name='test2')drop database test2gocreate database test2 on primary(name='test2_data',filename='D:\test2_data.mdf',size=5mb,maxsize=10mb,filegrowth=1mb)log on(name='test2_log',filename='D:\test2_log.ldf',size=5mb,maxsize=10mb,filegrowth=1mb)gouse test2goif exists(select * from sysobjects where name='Students')drop table Studentsgocreate table Students(id int IDENTITY primary key not null,name varchar(20) null,age int null)goinsert into Students (name,age) values ('张三',25)insert into Students (name,age) values ('李四',26)go
C#代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace ADODataReader2{ class Program { static void Main(string[] args) { //数据库连接字符串 string conStr = "Data Source=.;Initial Catalog=test2;User ID=sa;Pwd=leeho"; //创建数据库连接对象 SqlConnection conn = new SqlConnection(conStr); //定义SQL查询语句 string sqlStr = "select * from Students"; //创建Command对象 SqlCommand comm = new SqlCommand(sqlStr, conn); //创建DataReader对象 SqlDataReader dataReader = null; try { //打开数据库连接对象 conn.Open(); //执行Command的ExecuteReader()方法 返回DataReader对象 dataReader = comm.ExecuteReader(); //如果没有读到数据 if (!dataReader.HasRows) { Console.WriteLine("没有数据!"); } else { //循环读取下一行记录 while (dataReader.Read()) { //ID列的值 int id = (int)dataReader["id"]; Console.WriteLine(id); //Name列的值 string name = (string)dataReader["name"]; Console.WriteLine(name); //Age列的值 int age = (int)dataReader["age"]; Console.WriteLine(age); Console.WriteLine(); } } } catch (Exception ex) { Console.Write(ex.Message); } finally { //关闭DataReader对象 dataReader.Close(); //关闭数据库 conn.Close(); } Console.ReadKey(); } }}
- C#_ACCP_Windows_ADO.NET(三)
- C#_ACCP_Windows_ADO.NET(一)
- C#_ACCP_Windows_ADO.NET(二)
- C#_ACCP_Windows_ADO.NET(一) 补充
- Visual C++.net基础讲座三
- Visual C++.NET编程讲座之三
- ASP.Net 3.5学习笔记(C#)三
- C Sharp与.net学习笔记(三)
- 《CLR via C#》读书笔记-.NET多线程(三)
- .Net锦囊-C#,.Net发送邮件三种方法…
- C#、.NET、ASP.NET三者的关系
- 理解Visual C++.NET定制MFC应用程序(三)
- Visual C++.NET编程基础讲座之三
- .NET(c#)new关键字的三种用法
- .NET(c#)new关键字的三种用法 (转载)
- .NET(c#)new关键字的三种用法 (转载)
- 三种C#.net生成静态页面的方法
- .NET(c#)new关键字的三种用法
- linux挂载其它文件系统
- 偷点小懒——Java命令行编译运行批处理代码
- 从Delphi 7升级到Delphi XE (2)
- 3、可执行文件ELF && 几个重要的编译
- ibus 的谷歌拼音输入法发布
- C#_ACCP_Windows_ADO.NET(三)
- Ubuntu下声音的控制方法
- ADO.NET WinForm 编程案例(一)
- python 编码
- android 自定义view 不执行 ondraw的解决办法
- 【二分】hdu 4004
- ubuntu下编译openJdk - 6
- 直线与椭圆相交求交点
- <转载>字符编码简介:ASCII,Unicode,UTF-8,GB2312