最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ADO.NET之8-数据读取器,DataReader---ShinePans

来源:动视网 责编:小采 时间:2020-11-09 14:58:40
文档

ADO.NET之8-数据读取器,DataReader---ShinePans

ADO.NET之8-数据读取器,DataReader---ShinePans:根据数据提供程序不同,DataReader可分为SqlDataReader,OleDbDataReader,OlbeDataReader和OracleDataReader等4大类 一个巧妙的比喻:如果数据库是水库,那么SqlConnection是进水头,SqlCommand是抽水机,SqlDataReader是出水的水管,S
推荐度:
导读ADO.NET之8-数据读取器,DataReader---ShinePans:根据数据提供程序不同,DataReader可分为SqlDataReader,OleDbDataReader,OlbeDataReader和OracleDataReader等4大类 一个巧妙的比喻:如果数据库是水库,那么SqlConnection是进水头,SqlCommand是抽水机,SqlDataReader是出水的水管,S

根据数据提供程序不同,DataReader可分为SqlDataReader,OleDbDataReader,OlbeDataReader和OracleDataReader等4大类 一个巧妙的比喻:如果数据库是水库,那么SqlConnection是进水头,SqlCommand是抽水机,SqlDataReader是出水的水管,SqlDataReader每次只能读取一条

根据数据提供程序不同,DataReader可分为SqlDataReader,OleDbDataReader,OlbeDataReader和OracleDataReader等4大类

一个巧妙的比喻:如果数据库是水库,那么SqlConnection是进水笼头,SqlCommand是抽水机,SqlDataReader是出水的水管,SqlDataReader每次只能读取一条记录,每当SqlDataReader调用Read方法就会从数据库得到一条记录,同时Read方法会返回False值,可以使用Wihle循环来调用SqlDataReader的Read方法,读取数据库中的记录,SqlDataReader的工作方式意味着,在读取数据库的时候要保持与数据库的连接,如果此时断开连接,数据会读取失败.

对于SqlCommand对象调用ExecuteScalar方法来查询表中记录的数量,SqlCommand对象调用ExecuteDataReader方法,查询表中所有的记录

源代码:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SQLTest
{
 class Program
 {
 static void Main(string[] args)
 {
 ///连接数据库
 string connection =
 "server=潘尚\\SQLEXPRESS;database=db_test;Trusted_Connection=true";
 SqlConnection sc = new SqlConnection(connection);
 // sc.ConnectionString = connection;
 try
 {
 sc.Open(); //打开数据库连接
 Console.WriteLine("已经打开数据库连接!");
 SqlCommand cmd = new SqlCommand("SELECT * FROM db_student", sc);
 SqlDataReader sdr = cmd.ExecuteReader(); //执行查找记录命令
 while(sdr.Read())
 {
 Console.WriteLine("{0}{1}{2}{3}", sdr[0], sdr[1], sdr[2], sdr[3]);
 }
//START:4.查询数据库记录//////////////////////////////////////////////////////////////
 /* SqlCommand cmd = new SqlCommand("SELECT count(*) FROM db_student", sc);
 int i = (int)cmd.ExecuteScalar();//执行查找记录的命令
 Console.WriteLine("表中共有{0}条数据", i.ToString()); */
//END:4.查询数据库记录////////////////////////////////////////////////////////////////
//START:3.修改数据库数据的代码////////////////////////////////////////////////////////
 /* SqlCommand cmd = new SqlCommand("UPDATE db_student SET student_grade=99 where student_name=@name", sc); //创建SqlCommand对象
 cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = "潘";
 int i = cmd.ExecuteNonQuery();
 if (i > 0) Console.WriteLine("修改成功!"); */
//END:3.修改数据库数据的代码/////////////////////////////////////////////////////////
//START:1.删除数据库记录代码段///////////////////////////////////////////////////////
 /* string cmdtext = "DELETE FROM db_student WHERE student_name=@name";
 SqlCommand cmd = new SqlCommand(cmdtext, sc);
 cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = "潘";
 int i = cmd.ExecuteNonQuery();
 if (i > 0) Console.WriteLine("删除记录成功!"); */
//END:1.删除数据库记录代码段/////////////////////////////////////////////////////////
//START:2.添加记录的代码///////////////////////////////////////////////////////////////
 /* SqlCommand cmd = new SqlCommand();//创建SqlCommand对象
 cmd.CommandType = CommandType.Text; //设置执行文本命令
 cmd.Connection = sc; //设置对象属性
 cmd.CommandText = 
 "INSERT INTO db_student(student_name,student_age,student_address,student_grade)VALUES(@name,@age,@address,@grade)";
 //添加参数并为参数赋值
 cmd.Parameters.Add("@name", SqlDbType.VarChar, 10).Value = "潘";
 cmd.Parameters.Add("@age", SqlDbType.Int).Value = 19;
 cmd.Parameters.Add("@address", SqlDbType.VarChar).Value = "武汉";
 cmd.Parameters.Add("@grade", SqlDbType.Int).Value = 100;
 int i = cmd.ExecuteNonQuery(); //执行数据库添加记录命令
 if (i > 0) Console.WriteLine("添加记录成功"); */ //控制台
输出添加记录 //END:2.添加记录的代码///////////////////////////////////////////////////////////////// } catch (Exception ex) { Console.WriteLine("打开数据库错误:{0}", ex.Message); } finally { sc.Close(); Console.WriteLine("数据库连接已关闭!"); } System.Console.ReadLine(); } } }
运行结果:


文档

ADO.NET之8-数据读取器,DataReader---ShinePans

ADO.NET之8-数据读取器,DataReader---ShinePans:根据数据提供程序不同,DataReader可分为SqlDataReader,OleDbDataReader,OlbeDataReader和OracleDataReader等4大类 一个巧妙的比喻:如果数据库是水库,那么SqlConnection是进水头,SqlCommand是抽水机,SqlDataReader是出水的水管,S
推荐度:
标签: 数据 读取 net
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top