




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Written by suyejian在.NET Framework 应用程序中使用ADO.NET访问数据库一、 常用的数据访问组件1、 访问SQL Server数据库系统所用到的组件SqlConnection连接SQL Server数据库系统SqlCommand.向SQL Server数据库系统提交执行SQL命令SqlDataReader阅读执行SQL命令返回的数据SqlDataAdapter.利用此组件可以将数据库中的数据填充到DataSet数据集注意:使用上述组件需要引入System.Data.SqlClient命名空间。2、 访问Access数据库所用到的组件OleDbConnection连接OleDB数据库系统OleDbCommand.向OleDB数据库系统提交执行SQL命令OleDbDataReader阅读执行SQL命令返回的数据OleDbDataAdapter.利用此组件可以将数据库中的数据填充到DataSet数据集注意:使用上述组件需要引入System.Data.OleDb命名空间。二、 访问数据库的途径三、 如何连接数据库1、 连接SQL Server的实例C#版本using System.Data.SqlClient;/ 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b,/ 并且假设已经在SQL Server中创建一个名为dbname的数据库。SqlConnection conn = new SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;);conn.Open(); / 打开数据库连接conn.Close(); / 关闭数据库连接VB版本Imports System.Data.SqlClient 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b, 并且假设已经在SQL Server中创建一个名为dbname的数据库。Dim conn As New SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;)conn.Open() 打开数据库连接conn.Close() 关闭数据库连接2、 连接Access的实例C#版本using System.Data.OleDb;/ 连接串的含义是:程序将通过Microsoft.Jet.OLEDB.4.0访问Access数据库,/ 并且假设已经在Access 2000中创建一个数据库,该数据库的文件名为c:db1.mdb。OleDbConnection conn= new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:db1.mdb;);conn.Open();/ 打开数据库连接conn.Close();/ 关闭数据库连接VB版本Imports System.Data.OleDb 连接串的含义是:程序将通过Microsoft.Jet.OLEDB.4.0访问Access数据库, 并且假设已经在Access 2000中创建一个数据库,该数据库的文件名为c:db1.mdb。Dim conn As New OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:db1.mdb;)conn.Open() 打开数据库连接conn.Close() 关闭数据库连接四、 如何通过DataReader访问数据这里我们给出的范例是如何通过DataReader读取SQL Server数据库中的数据,如果你需要访问的是Access数据库,那么只需将程序源代码中的SqlConnection、SqlCommand、SqlDataReader分别更改为OleDbConnection、OleDbCommand、OleDbDataReader。同时把数据库连接串由Server=(local); Database=dbname; User ID=a; Password=b;更改为Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:db1.mdb;的形式。C#版本using System.Data.SqlClient;/ 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b,/ 并且假设已经在SQL Server中创建一个名为dbname的数据库。SqlConnection conn = new SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;);conn.Open();/ 打开数据库连接SqlCommand cmd = new SqlCommand();/ 创建执行SQL命令的对象cmdcmd.Connection = conn;/ 指定cmd将通过conn连接传输SQL命令cmd.CommandText = Select * From mytable;/ 定义cmd将要执行的SQL命令SqlDataReader sqlDR;/ 定义DataReader数据阅读器(对象变量sqlDR)sqlDR = cmd.ExecuteReader();/ 执行SQL命令,执行返回结果形成DataReader对象。while(sqlDR.Read()/ 阅读一行数据/ 将该行数据当中的字段名为“column1”的数据输出ListBox1.Items.Add(sqlDRcolumn1.ToString();sqlDR.Close();conn.Close(); / 关闭数据库连接VB版本Imports System.Data.SqlClient 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b, 并且假设已经在SQL Server中创建一个名为dbname的数据库。Dim conn As New SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;)conn.Open() 打开数据库连接Dim cmd As New SqlCommand() 创建执行SQL命令的对象cmdcmd.Connection = conn 指定cmd将通过conn连接传输SQL命令cmd.CommandText = Select * From mytable 定义cmd将要执行的SQL命令Dim sqlDR As SqlDataReader 定义DataReader数据阅读器(对象变量sqlDR)sqlDR = cmd.ExecuteReader() 执行SQL命令,执行返回结果形成DataReader对象。While(sqlDR.Read() 阅读一行数据 将该行数据当中的字段名为“column1”的数据输出ListBox1.Items.Add(sqlDR(column1)End WhilesqlDR.Close()conn.Close() 关闭数据库连接五、 如何通过DataSet访问数据这里我们给出的范例是如何通过DataAdapter读取SQL Server数据库中的数据并且复制填充到DataSet当中,如果你需要访问的是Access数据库,那么只需将程序源代码中的SqlConnection、SqlCommand、SqlDataAdapter分别更改为OleDbConnection、OleDbCommand、OleDbDataAdapter。同时把数据库连接串由Server=(local); Database=dbname; User ID=a; Password=b;更改为Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:db1.mdb;的形式。C#版本using System.Data;using System.Data.SqlClient;/ 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b,/ 并且假设已经在SQL Server中创建一个名为dbname的数据库。SqlConnection conn = new SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;);conn.Open();/ 打开数据库连接SqlCommand cmd = new SqlCommand();/ 创建执行SQL命令的对象cmdcmd.Connection = conn;/ 指定cmd将通过conn连接传输SQL命令cmd.CommandText = Select * From mytable;/ 定义cmd将要执行的SQL命令SqlDataAdapter sqlDA = new SqlDataAdapter(cmd);/ 定义数据适配器,该适配器将执行cmd的命令DataSet ds = new DataSet();/ 创建DataSet数据集对象sqlDA.Fill(ds,Table1);/ 通过数据适配器执行SQL命令,执行得到的数据表填充到数据集dsconn.Close(); / 关闭数据库连接for(int i=0; ids.TablesTable1.Rows.Count; i+)/ 可以随意阅读任意一行数据/ 将该行数据当中的字段名为“column1”的数据输出ListBox1.Items.Add(ds.TablesTable1.Rowsicolumn1.ToString();dataGrid1.DataSource = ds.TablesTable1; /也可将数据集ds中的整个数据表绑定到数据显示控件/ 如果是ASP.NET程序,还需要以下一行语句才能实现将数据集ds绑定到数据显示空间/ dataGrid1.DataBind();VB版本Imports System.DataImports System.Data.SqlClient 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b, 并且假设已经在SQL Server中创建一个名为dbname的数据库。Dim conn As New SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;)conn.Open() 打开数据库连接Dim cmd As New SqlCommand() 创建执行SQL命令的对象cmdcmd.Connection = conn 指定cmd将通过conn连接传输SQL命令cmd.CommandText = Select * From mytable 定义cmd将要执行的SQL命令Dim sqlDA As New SqlDataAdapter(cmd) 定义数据适配器,该适配器将执行cmd的命令Dim ds As New DataSet() 创建DataSet数据集对象sqlDA.Fill(ds,Table1) 通过数据适配器执行SQL命令,执行得到的数据表填充到数据集dsconn.Close() 关闭数据库连接Dim i As IntegerFor i=0 To ds.Tables(Table1).Rows.Count-1 可以随意阅读任意一行数据 将该行数据当中的字段名为“column1”的数据输出ListBox1.Items.Add(ds.Tables(Table1).Rows(i)(column1).ToString()NextdataGrid1.DataSource = ds.Tables(Table1) 也可将数据集ds中的整个数据表绑定到数据显示控件 如果是ASP.NET程序,还需要以下一行语句才能实现将数据集ds绑定到数据显示空间 dataGrid1.DataBind()六、 如何执行“添加”、“修改”、“删除”等无返回结果的SQL命令若需执行“添加”、“修改”、“删除”等无返回结果的SQL命令,只需通过Command对象执行Insert、Update、Delete命令即可,如本例程序所示。如果你需要访问的是Access数据库,那么只需将程序源代码中的SqlConnection、SqlCommand分别更改为OleDbConnection、OleDbCommand。同时把数据库连接串由Server=(local); Database=dbname; User ID=a; Password=b;更改为Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:db1.mdb;的形式。C#版本using System.Data.SqlClient;/ 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b,/ 并且假设已经在SQL Server中创建一个名为dbname的数据库。SqlConnection conn = new SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;);conn.Open();/ 打开数据库连接SqlCommand cmd = new SqlCommand();/ 创建执行SQL命令的对象cmdcmd.Connection = conn;/ 指定cmd将通过conn连接传输SQL命令cmd.CommandText = Insert Into mytable(column1) values(张三);/ “添加数据”SQL命令/ 若需执行“修改数据”SQL命令/ cmd.CommandText = Update mytable Set column1=张三 Where id=1; / 修改id为1的记录/ 若需执行“删除数据”SQL命令/ cmd.CommandText = Delete From mytable Where id=1; / 删除id为1的记录cmd.ExecuteNonQuery();/ 执行SQL命令,返回值表示操作所影响的记录数量conn.Close(); / 关闭数据库连接VB版本Imports System.Data.SqlClient 连接串的含义是:登录计算机名为“(local)”的数据库服务器,登录的用户名为a,密码为b, 并且假设已经在SQL Server中创建一个名为dbname的数据库。Dim conn As New SqlConnection(Server=(local); Database=dbname; User ID=a; Password=b;)conn.Open() 打开数据库连接Dim cmd As New SqlCommand() 创建执行SQL命令的对象cmdcmd.Connection = conn 指定cmd将通过conn连接传输SQL命令cmd.CommandText = Insert Into mytable(column1) values(张三) “添加数据”SQL命令 若需执行“修改数据”SQL命令 cmd.CommandText = Update mytable Set column1=张三 Where id=1 修改id为1的记录 若需执行“删除数据”SQL命令 cmd.CommandText = Delete From mytable Where id=1 删除id为1的记录cmd.ExecuteNonQuery() 执行SQL命令,返回值表示操作所影响的记录数量conn.Close() 关闭数据库连接七、 如何实现将DataSet数据集同步到SQL Server数据库SqlDataAdapter除了可以从SQL Server数据库查询数据填充到DataSet,还可以将DataSet数据集同步到SQL Server数据库。调用SqlDataAdapter.Fill()查询数据库填充数据集,只需要设置SelectCommand属性使SqlDataAdapter与实现查询功能的SqlCommand组件关联;如果调用SqlDataAdapter.Update()执行同步操作,则需要通过设置InsertCommand、UpdateCommand、DeleteCommand属性使SqlDataAdapter分别与实现插入记录、修改记录、删除记录的3个SqlCommand组件关联,该设置可以依靠SqlCommandBuilder组件自动完成。C#版本using System.Data.SqlClient;/ 连接串的含义是:登录计算机名为“(lo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全民《乡村振兴战略》知识竞赛题库含答案
- 出租库房安全培训课件
- 出差安全培训总结课件
- 招商银行笔试题库及参考答案
- 陕西金太阳2025年9月高三联考15C政治(含答案)
- 2025版关于商业转让合同示范文本
- 2025年未经授权的合同是否有效?国家公积金贷款还款指南
- 冲床安全生产培训总结课件
- 气调包装智能化-洞察及研究
- 冲压工厂安全培训内容课件
- 环卫工人防暑课件教学
- 公司对公司走账合同范本
- 华为投资控股有限公司2025年半年度报告
- 核电站主要材料质量保证措施
- 2025年6月仓储管理员(初级)复习题与参考答案
- (2025年标准)挖桩孔协议书
- 2025-2026学年北师大版(2024)初中生物七年级上册教学计划及进度表
- 消化内科课件模板
- 拍摄与剪辑基础知识培训课件
- 项目实施进程汇报
- 2025年时事政治考试100题(附答案)
评论
0/150
提交评论