关于ADO.NET@SQL Server&SqlDataReader
先说基础的,说基础的明白了再深的也是一样的。SQL是关系型数据库,所以就决定了对其操作的时候ADO的一些类要相互联系,Connection 类Command对象(ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令)DataReader类,DataSet对象,DataAdapter类等等,记住我们需要抓住的是主要的也就是中间的类或者对象,就是Command对象,抓住主要的得了,次要的都要和他发生关系(有点猥琐,嘿嘿),记住你要顶住他,观察其他的类的动作,上例子:
SqlConnection Conn = new SqlConnection(ConfigurationSettings.AppSettings[0].ToString());
string str;
str = "select CarNo,CarCla from CarIn ";
Conn.Open();
SqlCommand datacommand = new SqlCommand(str, Conn);
SqlDataReader reader = datacommand.ExecuteReader();
int i = 0;
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
看红色部分,都是围绕SqlCommand展开的;
顺便说下SqlDataReader他是读取是一行,如果你想让他把数据都读取的话要用到循环,但是这个不是他的强项。我认为他的强项是读取一行的数据,读取速度快,切记他读取的数据和你str = "select CarNo from CarIn ";这句话有很大的关系,再重复一遍,他是读取一行的数据,另起一行的话,他要重新从[0]开始,所以这个不适合保存或者操作数据(比如你要对读取的一列数据经行操作的话是不可行的,像上面显示还是可以的)而这个数组取决于你选择的相str = "select CarNo,PortNam from CarIn ";这个读取的话就是 read[0]和read[1]。所以这样的话你要对整个数据经行操作的话,很显然这个类不合适了,切记,他只是读取一行,我太啰嗦了。。。。
当然如果你确实想操作这些数据,我们可以以数组的形式读取出来,前提是你必须知道你这个表中有多少行,因为你要设置数组的个数
public string[] getCarNo()
{ int arrayno = getDataNum("CarIn");//获取行数
string[] Carray = new string[arrayno]; str = "select CarNo from CarIn ";
Conn.Open();
SqlCommand datacommand = new SqlCommand(str, Conn);
SqlDataReader reader = datacommand.ExecuteReader();
int i = ;
while (reader.Read())
{
Carray[i] = reader[].ToString();
i++;
}
Conn.Close();
return Carray;
}
关于ADO.NET@SQL Server&SqlDataReader的更多相关文章
- ado连接sql server
//ado连接sql server //头文件加上以下这句. #import "C:\Windows\system\msado15.dll" no_namespace rename ...
- ADO对SQL Server 2008数据库的基础操作
最近在学习ADO与数据库的相关知识,现在我将自己学到的东西整理写出来,也算是对学习的一种复习. 这篇文章主要说明如何遍历某台机器上所有的数据库服务,遍历某个服务中所有的数据库,遍历数据库中的所有表以及 ...
- ODBC与ADO 连SQL Server 2005
ADO是microsoft数据库应用程序开发的连连接口,是建立在OLE DB之上的高层 ADO使用方法步骤: 1.初始化COM库,引入ADO库定义 2.用connection对象连接数据库 3.利用连 ...
- MFC ADO连接Sql Server数据库报无效指针的问题
相关症状: Win7sp1上编译的ADO程序无法在低版本系统上运行,创建ADO时提示错误:0x80004002 解决办法如下: 1.下载: http://download.microsoft.c ...
- SQL Server 数据类型映射 (ADO.NET)
SQL Server 数据类型映射 (ADO.NET) .NET Framework 3.5 更新:November 2007 SQL Server 和 .NET Framework 基于不同的类型系 ...
- 连接SQL SERVER 2008需要加端口号
VC2010 ADO 连接SQL SERVER 2008,127.0.0.1,1433,要加上端口,否则连不上.注意:地址和端口之间使用逗号隔开. 连接SQL SERVER 2000可以不加端口号,使 ...
- 【常见的SQL Server连接失败错误以及解决方法】
[常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...
- (4.1)SQL Server Browser 与动态端口
转自:http://blog.51cto.com/jimshu/1120295 一.启用TCP端口 1.启用TCP/IP协议 打开SSCM(SQL Server Configuration Manag ...
- ADO.NET访问SQL Server调用存储过程带回参
1,ADO.NET访问SQL Server调用存储过程带回参 2,DatabaseDesign use northwind go --存储过程1 --插入一条商品 productname=芹菜 un ...
随机推荐
- Cache封装类
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- css实现元素居中
参见详细教程,该教程涵盖了所有居中的情况: https://css-tricks.com/centering-css-complete-guide/ css元素居中 1.水平居中 1)文本,图片等行 ...
- SO_REUSEADDR
问题:Linux的服务器程序,关闭后马上启动,经常报错,说是端口已经被占用,不过稍等一会儿就可以启动了. 原来我们在调用closesocket把已绑定端口的socket关闭时,这个socket并没有立 ...
- Fix the “No Private Key” Error Message
This article will show you how to correct the “No Private Key” error message in Windows Internet Inf ...
- OTG 接口烧写最小Linux的方法
通过该方式可以烧写Android4.0.3 系统和Linux-QT 系统. 需要准备一根OTG 线,绝大多数智能手机和PC 机相连接的线都是OTG线,都是通用的. 这种方式比TF卡烧写方式要快一些,我 ...
- jquery-mockjax初试
1. 原理 jquery-mockjax是用于mock 前台ajax向后台请求的返回数据. 原理很简单 在你js代码要发送ajax请求的地方断点一下,然后比较在[引入jquery-mockjax] 和 ...
- tomcat 6.0.44 “has failed to stop it. This is very likely to create a memory leak” 问题调查
1. 问题起因 我们项目中缓存模块某个实现采用了ehcache(2.4.3),当项目部署到tomcat中后,对tomcat做停止服务操作(点击eclipse的console红色的停止按钮,奇怪的是有小 ...
- Matlab基本功能:自定义函数、添加块注释、定时器的试用
1.自定义函数 新建一个m文件 在m文件里面第一行输入function [X,Y]=pll(X1,Y1,X2,Y2),这里x1 x2 y1 y2是你函数的输入值, x y是输出值,接着定义你要实现的功 ...
- override 与 overdown 的区别
重写与重载的区别 1. 重载是方法的名称相同.参数或参数类型不同,进行多次重载以适应不同的需要 2. 重写是进行基类中函数的重写.为了适应需要.
- JSP数据交互习题错误总结
1:如果注册完页面有中文字符需要在提交后的页面显示注册信息,切记先把接受到的request的编码方式改为中文:request.setCharacterEncoding("utf-8" ...