ADO.NET 基础教程(一)

ado|基础教程

网络上的ADO.NET教程在都不是基于VS2003的,我在此把以前初学的时候的一些代码共享给大家,让还在摸索阶段的朋友能学得顺利一点儿

一、数据查询

1、DataReader只读向前的数据集
        Dim cn As New SqlClient.SqlConnection
        cn.ConnectionString = "server=develop;uid=sa;pwd=hz0222;database=crm2004"
        cn.Open()
        Dim cmd As New SqlClient.SqlCommand
        cmd.Connection = cn
        Dim i As Integer
        cmd.CommandText = "SELECT * FROM TABLE1"
        Dim dr As SqlClient.SqlDataReader
        dr = cmd.ExecuteReader
        i = 0
        Do While dr.Read()
            fp1.Sheets(0).Cells(i, 0).Text = dr("id")
            fp1.Sheets(0).Cells(i, 1).Text = dr("FName")
            fp1.Sheets(0).Cells(i, 2).Text = dr("FAge")
            fp1.Sheets(0).Cells(i, 3).Text = dr("FAdd")
            i += 1
        Loop

在这个例子中,首先申明一个SqlConnection对象,用它来连接SQL SERVER数据库,然后再申请一个SqlCommand对象,用它来执行一个SQL查询语句,最后申明一个SqlDataReader,用它来存放由SqlCommand对象的ExecuteReader方法返回的数据集

用DataReader听说很快,我没有做过测试,但网上面说得有任有据的,我也就用来查询数据了。上面的这个例子是用来查询一个表中所有的数据,并把它们放到一个数据控件中去,用的是VB的代码,C#大至差不多

2、DataSet数据集

Dataset可以管理多个记得集:DataTable,也就是ADO的RecordSet对象,请看下面这个例子:

'绑定数据
    Private Sub BindData()
        '申请一个连接串对象
        Dim cn As New SqlClient.SqlConnection
        '初始化连接串
        cn.ConnectionString = "server=localhost;uid=sa;pwd=hz0222;database=CRM2004"
        '打开连接串
        cn.Open()

        '申明一个数据适配器
        Dim da As New SqlClient.SqlDataAdapter("SELECT * FROM t_cst_info", cn)
        '申明一个数据集(可以包含表)
        Dim ds As New DataSet
        '填充数据表
        da.Fill(ds, "t_cst_info")
        ds.Tables(0).TableName = "客户档案表"
        da.SelectCommand = New SqlClient.SqlCommand("SELECT * FROM T_base_zygl", cn)
        da.Fill(ds, "T_base_zygl")
        ds.Tables(1).TableName = "职员档案表"
        da.SelectCommand = New SqlClient.SqlCommand("SELECT * FROM t_base_bmqk", cn)
        da.Fill(ds, "t_base_bmqk")
        ds.Tables(2).TableName = "部门情况表"
        '绑定到DataGrid
        Me.DataGrid1.DataSource = ds
    End Sub

这个代码和上面的差不多,只是用了SqlDataAdapter来代替了SqlCommand执行SQL查询,SqlDataAdapter用微软件的话说是“数据适配器”,我现在知道的功能就是用执行Sql查询,并填充到Dataset或DataTable对象中去。上面的例子中我们填充了三个DataTable

时间: 2024-10-05 14:38:31

ADO.NET 基础教程(一)的相关文章

ADO.NET 基础教程(二)

ado|基础教程   上一节讲到了怎样使用ADO.NET来查询数据,这节讲怎么样运行SQL的SELECT.INSERT和UPDATE命令及存储过程 1.存储过程 C#的代码如下: /// <summary>  /// 存储过程参数结构  /// </summary>  public struct ProcParam  {   public string ParamName;   public string ParamValue;   public System.Data.SqlDb

xcode-学习objective-c 基础教程遇到问题 例题03.06 word-length-3 编译出错

问题描述 学习objective-c 基础教程遇到问题 例题03.06 word-length-3 编译出错 #import int main(int argc, const char * argv[]) { FILE *wordFile = fopen ("/tmp/words.txt", "r"); char word[100]; while (fgets(*word,99,wordFile)) \这一行编译出现"Thread 1:EXC_BAD_AC

类别-Objective-C基础教程中一句话读不懂,求解!

问题描述 Objective-C基础教程中一句话读不懂,求解! 在第12章类别前边第一段中有:"当使用类方法stringWithFormatFor生成一个新类时,你新建的NSString类的子类无法返回." 解决方案 NSString实际上只是一个类簇的前台表示,因而无法为这样的类创建子类.在其他情况下,你也许可以创建子类但你使用的却是工具包或类库,因为又无法处理新类的对象.例如,当使用类方法stringWithFormatFor生成一个新的字符串时,你新建的NSString类的子类无

Excel2007基础教程:插入行和列

Excel2007基础教程:插入行和列 虽然工作表中的行数和列数是固定的,但如果需要为添加信息腾出空间,则用户仍然可以插入和删除行和列.这些操作并不改变行和列的数量.其实,插入一 个新行就是把其他行向下移,腾出一个新行.如果最后一行为空,将从工作表中删除.插入新的一列,其他列将向右移,如果最后一列为空,将会被删除. 注意:如果最后一行不为空,则用户不能插入一个新行.同样地,如果最后一列包含信息,则Excel 不会让用户插入新的一列.如果想尝试添加一行或一列,将显示如图4.11 所示的对话框. 可

Excel2007基础教程:隐藏行和列

Excel2007基础教程:隐藏行和列 在某些情况下,您可能希望隐藏特定的行或列.如果不想让用户看到特定的信息,或者需要打印一份概括工作表中的信息而并非显示全部细节的报告,这是非常有用的. 要隐藏工作表中的行或列,通过单击行或列的标题,选择要隐藏的行或多行.然后右击并从快捷菜单选择"隐藏飞或使用"开始" -> "单元格"->"格式"下拉列表上的命令. 提示:也可通过拖动行或列的边界来隐藏行或列.必须拖动行或列标题的边界.向上

Excel2007基础教程:删除行和列

Excel2007基础教程:删除行和列 您可能也想在一张工作表中删除多个行或列.例如,工作表中可能包含不再需要的旧数据. 要删除一行或多行,可使用下列方法: 单击工作表边界的行号选择一整行或多行.右击并从快捷菜单选择"删除". 把单元格指针移到要删除的行上,然后选择"开始" -> "单元格" -> "删除" -> "删除工作表行".如果选择了列中的多个单元格, Excel 将删除选中的所有

Excel2007基础教程:选择整行和整列

Excel2007基础教程:选择整行和整列 常常需要选择整行或整列.例如, 需要对整行或整列应用同样的数字格式或相同的对齐方式.选择整行或整列的方式与选择区域的方式相似: 单击行或列的边界,选择单一的行或列. 要选择相邻的多行或多列,单击一行或列的边界,然后通过拖动选择其他的行或列. 要选择不相邻的多行或多列,按住Ctrl 键再单击所需的行或列. 按C位1+空格键选择一列.活动单元格所在的列(或所选单元格所在的列〉将高亮显示. 按Shift+空格键选择一行.活动单元格所在的行(或所选单元格所在的

30分钟学会正则表达式基础教程

基础教程|教程|正则表达式|正则 目录 本文目标 如何使用本教程 正则表达式到底是什么? 入门 测试正则表达式 元字符 字符转义 重复 字符类 反义 替换 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 最后,来点广告... 一些我认为你可能已经知道的术语的参考 网上的资源及本文参考文献 更新说明 本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它. 如何使用本教程 最重要

AJAX基础教程及初步使用

ajax|基础教程 Ajax基础教程 什么是 AJAX? AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性. 这两项被忽视的性能是: 无需重新装载整个页面便能向服务器发送请求. 对XML文档的解析和处理. 步骤 1 – "请!" --- 如何发送一个HTTP请求 为了用