ADO_NET数据库对象编程方法和技巧

合集下载

ADO.NET数据库编程

ADO.NET数据库编程

数据库编程1、的相关概念。

Microsoft的新一代技术,是ADO组件的后继者。

主要目的是在.NET Framework平台存取数据。

提供一致的对象模型,可以存取和编辑各种数据源的数据,即对这些数据源,提供了一致的数据处理方式。

保存和传递数据是使用XML格式。

可实现与其他平台应用程序以XML文件进行数据交换。

2、数据访问类库的名称空间针对不同的数据源,使用不同名称空间的数据访问类库,即数据提供程序。

常用的数据源包括四种:Microsoft SQL Server数据源:使用System.Data.SqlClient名称空间。

OLEDB数据源:使用System.Data.OleDb名称空间。

ODBC数据源:使用System.Data.Odbc名称空间。

Oracle数据源:使用System.Data.OracleClient名称空间要使用 来访问数据库,需要将相应的名称空间导入到应用程序中,如下:System.Data是通用的名称空间,其中包含组成ADO.NET核心体系结构的所有类。

System.Data.Oledb 名称空间供 管理提供程序访问支持OleDb的数据源时使用。

System.Data.SQLClient 名称空间供 SQL Server管理提供程序使用。

该名称空间是专为 Microsoft SQL Server 而设计的,对于以前版本的 SQL Server,可以提高其性能。

如:using System.Data;using System.Data. SqlClient;System.Data.OleDb和System.Data.SqlClient名称空间的类名称相同,只是字头不同。

之所以分成两组类,主要目的是提供一组最佳化SQL Server数据库存取的类。

OleDb字头的类是使用OLEDB提供者数据源的数据库。

例如Access和Oracle等数据库。

Sql字头的类只能使用在SQL Server7.0以上版本,直接和服务器端的SQL Server通信,因为不通过OLE DB和ODBC,所以可以明显提升整体的执行效率。

ADO.NET读书笔记系列之DataSet对象数据库教程-电脑资料

ADO.NET读书笔记系列之DataSet对象数据库教程-电脑资料

读书笔记系列之DataSet对象数据库教程-电脑资料ado|笔记|对象一、特点介绍1、处理脱机数据,在多层应用程序中很有用,。

2、可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法。

3、处理分级数据4、缓存更改5、XML的完整性:DataSet对象和XML文档几乎是可互换的。

二、使用介绍1、创建DataSet对象:DataSet ds = new DataSet("DataSetName");2、查看调用SqlDataAdapter.Fill创建的结构da.Fill(ds,"Orders");DataTable tbl = ds.Table[0];foreach(DataColumn col in tbl.Columns)Console.WriteLine(col.ColumnName);3、查看SqlDataAdapter返回的数据①、DataRow对象DataTable tbl = ds.Table[0];DataRow row = tbl.Row[0];Console.WriteLine(ros["OrderID"]);②、检查存储在DataRow中的数据DataTable tbl = row.Table;foreach(DataColumn col in tbl.Columns)Console.WriteLine(row[col]);③、检查DatTable中的DataRow对象foreach(DataRow row in tbl.Rows)DisplayRow(row);4、校验DataSet中的数据①、校验DataColumn的属性:ReadOnly,AllowDBNull,MaxLength,Unique②、DataTable对象的Constrains集合:UiqueConstraints,Primarykey,ForeignkeyConstraints通常不必刻意去创建ForeignkeyConstraints,因为当在DataSet 的两个DataTable对象之间创建关系时会创建一个。

软件工程9第8章 ADO. NET编程

软件工程9第8章 ADO. NET编程
2.ExecuteReader ExecuteReader方法执行命令,并返回一个DataReader 对象。它是一个只前移、只读的模式有效地访问数据。 如下代码:
String connectionSting = "Data Source=localhost;Initial Catalog=stock; User ID=admin;Password=admin;Integrated Security=True"; SqlConnection conn = new SqlConnection(connectionSting); conn.Open(); SqlCommand cmd = new SqlCommand("select name, class from Student", conn); SqlDataReader reader = cmd.ExecuteReader(); while(reader.Reader()) { Console.write(“name: {0} class: {1}”, reader[0], reader[1]); }
数据库连接是读取数据的第一步,下一节将介绍怎 样执行SQL命令,从数据库中读取数据; 8.3 执行命令 在上一节中我们学习了如何连接到数据库,连接数据库 相当于把应用程序与数据库中打通了道路,程序要想与 数据库之间实现数据交换,就要对数据库执行命令,拿 到我们想要的数据。这一节将介绍怎样执行SQL命令。 8.3.1 SqlCommand对象 在第一节中我们介绍了一个执行命令类SqlCommand, 它提供了对命令的操作的执行动作。SqlCommand共有 四个构造函数,我们选择其中之一进行实例化 SqlCommand cmd = new SqlCommand("commanText", conn);其中commanText是命令文本,它可以是一个sql 语句、存储过程名称或者是表名。conn是连接数据库对 象。

ADONET数据库操作技术实验报告

ADONET数据库操作技术实验报告

实验报告题目:数据库操作技术院系:计算机科学与工程学院【实验题目】数据库操作技术【实验目的】1.掌握服务器验证控件的使用。

2.掌握对象的使用方法。

3.初步熟悉数据绑定控件GridView控件的使用方法。

【实验内容】使用DataReader对象设计一个用户登陆身份验证页面,页面打开时用户输入了正确的用户名和密码后,程序根据用户级别跳转到不同的页面。

建立Microsoft SQL Sever数据库manager.mdb的设计,并在其中创建存放用户信息的Admin表。

表中user字段表示用户名,pwd字段表示密码,level 字段表示用户级别,0表示管理员,1表示普通用户(游客)。

程序设计步骤:(1)设计Web页面Web页面的设计并不复杂,使用列表的形式,将Label和TextBox嵌入其中,如图4-1所示。

图 4-1 Web页面的设计(2)设置对象属性此处需要注意的是,密码部分需要做密文处理,并且不可进行复制粘贴。

(3)编写事件代码页面设计完成后,需要对登录按钮编写相应的时间。

其中包括与数据库的连接,获取输入的用户名和密码,之后与数据库进行匹配,并将匹配的结果返回给用户,同时程序根据用户级别跳转到不同的页面。

程序运行结果如图4-2所示。

图 4-2 程序运行结果【实验代码】Default:<%@Page Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"><div><table border="1"><tr><td colspan="2"style="text-align: center"><strong><span style="font-size: 14pt">登&nbsp;录</span></strong></td></tr><tr><td style="width: 100px; text-align: center">用户名</td><td style="width: 100px"><asp:TextBox ID="txtUsername"runat="server"Width="146px"></asp:TextBox></td></tr><tr><td style="width: 100px; text-align: center">密&nbsp;码</td><td style="width: 100px"><asp:TextBox ID="txtPassword"runat="server"TextMode="Password" Width="145px"></asp:TextBox></td></tr><tr><td style="width: 100px">&nbsp;</td><td style="width: 100px"><asp:Button ID="btnLogin"runat="server"OnClick="btnLogin_Click" Text="登录"/></td></tr></table></div></form></body></html>using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;public partial class_Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "Reader对象应用示例";txtUsername.Focus();}protected void btnLogin_Click(object sender, EventArgs e){OleDbConnection conn = new OleDbConnection();conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/manager.mdb");conn.Open();string strSQL = "select * from Admin";OleDbCommand com = new OleDbCommand(strSQL, conn);OleDbDataReader dr = com.ExecuteReader();string strUsername="", strPassword="",strLevel="";while (dr.Read()){if (txtUsername.Text == dr["user"].ToString() && txtPassword.Text ==dr["pwd"].ToString()){strUsername = dr["user"].ToString();strPassword=dr["pwd"].ToString();strLevel = dr["level"].ToString();break;}}dr.Close();conn.Close();if (strUsername == ""){Response.Write("<script language=javascript>alert('用户名或密码错!');</script>");return;}if (strLevel == "0"){Session["pass"] = "admin";Response.Redirect("manager.aspx");}else{Session["pass"] = "guest";Response.Redirect("guest.aspx");}}}Guest:<%@Page Language="C#"AutoEventWireup="true"CodeFile="guest.aspx.cs"Inherits="guest"%><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"></form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class guest : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "游客页面";string strPass = (string)Session["pass"];if (strPass != "guest"){Response.Redirect("default.aspx");}Response.Write("这是游客页面");}}Manager:<%@Page Language="C#"AutoEventWireup="true"CodeFile="manager.aspx.cs" Inherits="manager" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"></form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manager : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "管理页面";string strPass = (string)Session["pass"];if (strPass != "admin"){Response.Write("<script language=javascript>alert('请先登录!');</script>"); Response.Redirect("default.aspx");}Response.Write("这是管理员页面");}}【实验结果】【实验心得】通过本次实验,我的的掌握更加深入,我基本掌握的服务器控件的应用,也基本掌握了GridView控件,熟悉了如何设置这个控件的基本属性,同时也加强了对其他控件的掌握。

编程语言之ADO点net资料库

编程语言之ADO点net资料库

软件英才网软件行业驰名招聘网站资料库作者:何静媛是一组用于和数据源进行交互的面向对象类库。

通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。

允许和不同类型的数据源以及数据库进行交互。

然而并没有与此相关的一系列类来完成这样的工作。

因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。

一些老式的数据源使用ODBC协议,许多新的数据源使用OLEDB协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的类库来进行连接。

软件英才网软件行业驰名招聘网站2.0提供了两个用于检索关系数据的对象:DataSet和DataReader。

并且这两个对象都可以将检索的关系数据存储在内存中。

二者的区别:1,与数据库连接DatSet 连接数据库时是非面向连接的。

把表全部读到Sql中的缓冲池,并断开于数据库的连接。

软件英才网软件行业驰名招聘网站DataReader 连接数据库时是面向连接的。

读表时,只能向前读取,读完数据后有用户决定是否断开连接。

2,处理数据速度DataSet读取、处理速度较慢。

DataReader读取、处理速度较快。

3,更新数据库在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。

在对DataReader中的数据进行更新后,没有办法进行数据库更新。

4,支持分页排序在DataSet中支持分页、动态排序等操作。

在DataReader中没有分页、动态排序的功能。

5,占用内存DataSet在 IIS 服务器上所使用的内存较多。

DataReader在 IIS 服务器上所使用的内存较少。

应用:软件英才网软件行业驰名招聘网站使用DataSet是为了实现应用程序的下述功能:1 操作结果中的多个分离的表。

2 操作来自多个源(例如来自多个数据库、XML文件和电子表格的混合数据)的数据。

3 在层之间交换数据或使用XML Web服务。

与DataReader 不同,DataSet能被传递到远程客户端。

第八章 使用ADONET操作数据库本章主要介绍以下内容:l ADONET

第八章 使用ADONET操作数据库本章主要介绍以下内容:l ADONET

Command对象包括以下方法,如表5所示,可以根据希望返 对象包括以下方法,如表 所示 所示, 对象包括以下方法 回的结果,选择相应的方法。 回的结果,选择相应的方法。 表5 Command 对象的方法 XxxCommand 类中的方法 ExecuteScalar ExecuteReader ExecuteNonQuery ExecuteXmlReader (SqlCommand only) ) 描述 执行返回单一值的命令
执行返回行集的命令
执行更新数据库或更改数据库结构 的命令, 的命令,返回受影响的行数 执行返回XML形式的结果的命令。 形式的结果的命令。 执行返回 形式的结果的命令 SQL Server7.0或更高版本支持本 或更高版本支持本 功能
可以通过三种方式创建Command对象: 对象: 可以通过三种方式创建 对象 第一,使用 关键字创建Command对象的新实例,然后设 对象的新实例, 第一,使用new关键字创建 关键字创建 对象的新实例 置适当的属性。 置适当的属性。 第二,使用可用的构造函数并指定查询字符串和 第二,使用可用的构造函数并指定查询字符串和Connection 对象。 对象。 第三,调用 对象的CreateCommand方法,如下面 方法, 第三,调用Connection对象的 对象的 方法 代码片段所示: 代码片段所示: Cmd = New SqlCommand() mandText = “Select * From Products” cmd.Connection = cn Dim cmd As SqlCommand Cmd = cn.CreateCommand() cmd = New SqlCommand(“Select * From Products”, cn) 其中, 为连接对象 为连接对象。 其中,cn为连接对象。

ADO数据库连接对象详解案例(适合初学者)

ADO数据库连接对象详解案例(适合初学者)

数据库连接对象详解(案例)注意:希望大家在copy代码的时候注意命名空间的引用,因此需要加上以下语句:using System.Data;using System.Data.SqlClient;SqlConnetion对象:主要是连接程序和数据源的“桥梁”,要存取数据源中的数据,首先要建立程序和数据源之间的连接。

1.混合模式string connStr="server/Data Source=(local);uid=sa;pwd=;database/Initial Catalog=demo"; SqlConnection conn = new SqlConnection(connStr);或连起来写:SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=;database=demo");2.使用Windows验证方式:string connetionString="server=(local);database=demo;trusted_connetion/Intergtated Secrity=true";SqlConnection conn=new SqlConnection(connetionString);SqlConnetion对象实例演示:<%@Import Namespace="System.Data" %><%@Import Namespace="System.Data.SqlClient" %><script language="C#" runat="server">public void Page_Load(object sender,EventArgs e){string connStr = "server=.;database=demo;uid=sa;pwd=xushouwei";//SqlConnection conn = new SqlConnection("server=.;database=demo;uid=sa;pwd=xushouwei");SqlConnection conn = new SqlConnection(connStr);conn.Open();Response.Write("连接成功!");}</script>Command对象:主要用来对数据发出一些指令,通过Command对象可以对数据库进行查询、增加、修改、删除以及调用数据库中的存储过程等操作。

ado_dot_net_数据库访问技术

ado_dot_net_数据库访问技术

• 2、实现步骤
① 向系统中添加一个页面,界面设计如图所示 ② 在代码文件的头部,添加操作数据库所用到的命名空间 ③ 为“提交”按钮编程

系统界面设计1:留言板页面
编辑留言页面功能的实现
1、模块设计
功能:对数据库中留言内容进行修改、删除操作。 界面设计:如图 主要逻辑: 在Page_Load事件中,显示要编辑的留言; 在单击“更改”按钮时,对数据库中满足条件的数据进行更改; 并显示结果; 在单击“删除”按钮时,对数据库中满足条件的数据进行删除; 并显示结果;
常用方法: • Close() • Read()
训练任务
对留言板系统功能进行完善
要求: 只有合法用户才能进入系统留言 只有系统管理员才可以编辑数据
Connection
常用属性: • ConnectionString 常用方法: • Open(); • Close();
Command
常用属性: • CommandText • Connection 常用方法: • ExecuteNonQuery() • ExecuteReader()
DataReader
2、实现步骤:
① 向系统中添加一个页面;界面设计如图 ② 在代码文件的头部,添加操作数据库用到的命名空间; ③ 为Page_Load事件、更改和删除事件编程
系统界面设计2:留言板编辑页面
总结
• 通过留言板页面学习: 掌握了Connection对象以及Command对 象的功能、属性和方法; • 通过留言板编辑页面的学习: 掌握了DataReader对象,进一步加深了 对Connection对象以及Command对象的理 解;
• 是基于XML的一种全新的数据库访问技术,它和传统ado相比, 其核心主要是:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第27卷 第5期2003年5月 信 息 技 术I NFORMATI ON TECH NO LOGYVO L.27 NO.5May.2003数据库对象编程方法和技巧蒋铁海1,刘朝晖2(1.广东外语外贸大学英文学院,广州510420; 2.广州市交通委员会,广州510405)摘 要:是Micros oft最新的数据访问技术。

通过实例讲述了在中引用ADO. NET对象来访问Access数据库和S Q L Server数据库并建立数据库程序的方法和技巧,这些方法和技巧在开发数据库应用系统上有较高的实用价值。

关键词:数据库;对象;;数据集;Data G rid;数据库更新中图分类号:TP311 文献标识码:B 文章编号:1009-2552(2003)05-0093-04The methods and techniques for programming with J I ANG T ie2hai1,LI U Zhao2hui2(1.G u angdong U niversity of Foreign Studies,G u angzhou510420,China;2.G u angzhou Committee of Communications,G u angzhou510405,China)Abstract: is the latest data accessing technology of Micros oft.This paper introduces the methods and techniques for accessing Access Database,S Q L Server Database and designing database program with .These methods and techniques are very useful in developing database application system with .K ey w ords:database;;;data set;data grid;database updated 在的Windows数据库编程中,访问数据库的最基本方法还是二个:一个是使用数据库对象,另一个就是使用数据库控件。

学会使用数据库对象来编写数据库程序,将使程序更具有通用性,例如:你可以把利用对象编写的数据库程序很方便地移植到程序中去运行。

在中,可以使用DAO,ADO,三种比较常用的数据库对象来访问数据库,当然,最好使用对象。

因为是Micros oft最新的数据访问技术,这种技术的优势包括:对断开连接的数据的内部支持、全面的X M L支持以及该技术与整个.NET框架的无缝整合。

而使用DAO或ADO对象则是为了那些熟悉DAO或ADO的程序员仍然可以在V 中使用原来的方法编写数据库程序。

1 认识对象包括两个核心组件:DataSet和.NET 数据提供程序,后者是一组包括C onnection,C om2mand,DataReader和DataAdapter对象在内的组件。

DataSet(数据集)是的断开式结构的核心组件。

DataSet的设计目的很明确:为了实现独立于任何数据源的数据访问。

因此,它可以用于多种不同的数据源,用于X M L数据,或用于管理应用程序本地的数据。

DataSet包含一个或多个DataT able对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataT able对象中数据的关系信息组成。

结构的另一个核心元素是.NET数据提供程序,其组件的设计目的相当明确:为了实现数据操作和对数据的快速、只进、只读访问。

C onnection 对象提供与数据源的连接。

C ommand对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。

DataReader从数收稿日期:2002-11-28作者简介:蒋铁海(1965-),男,副教授,1991年毕业于华中理工大学,主要研究方向:数据库、CAI、MIS。

—39—据源中提供高性能的数据流。

最后,DataAdapter 提供连接DataSet 对象和数据源的桥梁。

DataAdapter 使用C ommand 对象在数据源中执行S Q L 命令,以便将数据加载到DataSet 中,并使对DataSet 中数据的更改与数据源保持一致。

可以为任何数据源编写.NET 数据提供程序。

.NET 框架附带了两个.NET 数据提供程序:OleDbDataAdapter 和SqlDataAdapter 。

OleDb 2DataAdapter 适用于由O LE DB 提供程序公开的任何数据源(包括S Q L Server );SqlDataAdapter 则特定于S Q L Server 。

由于该对象不必通过O LE DB 层,所以它比OleDbDataAdapter 快。

但它只能用于S Q L Server7.0或更高版本。

在这里要特别认识一下数据集DataSet 这个对象,有过ADO 编程经验的人很容易把它与ADO 中的RecordSet 等同起来。

其实,DataSet 不是一个RecordSet ,而是存在于内存中的数据库,也就是说它是离线的,或者把它说成是数据库的一个镜像更好理解一点。

所以,当你在DataSet 中修改记录的时候,它并没有在源数据库中进行相应的修改,必须用命令进行处理才能完成真正的修改。

2 使用DataG rid 显示数据库记录DataG rid 控件不仅可以用表格形式数据库记录,更重要的是可以在表格内直接编辑、修改和添加记录。

程序运行时的界面如图1所示。

在这个实例中,打开的数据库是Stock.mdb ,数据表的名称是Stock (下同)。

要实现图1所示的功能,可以按下面的步骤来操作:图1 用DataG rid 显示数据库记录①创建项目和窗体启动 之后,从“文件”菜单上指向“新建”,然后选择“项目”。

在“项目类型”窗格中选择“Visual Basic 项目”,再在“模板”窗格中选择“Win 2dows 应用程序”。

给新建的项目取一个名字,然后单击“确定”。

这样就创建一个新项目,并在Win 2dows 窗体设计器中显示新窗体。

在窗体上添加图1图2 用文本框显示记录中所用到的各种控件并保存好文件。

②引用要使用 对象首先应该引入 ,为此,在程序的最前面加如下列二行代码:Im ports System.Data ’引入数据库操作类命名空间Im ports System.Data.OleDb’引入 操作命名空间再定义如下几个公用变量:Dim Stockconnection As OleDbC onnection =New OleD 2bC onnection ()’建立连接对象Dim Da As OleDbDataAdapter ’建立OleDbDataAdapter 对象Dim Cbd As OleDbC ommandBuilder ’建立OleDbC ommandBuilder 对象Dim Dsstock As DataSet =New DataSet ()’建立DataSet 对象Dim Jthtable As Data.DataT able ’建立表单对象Dim C onn As String ’定义连接字符串窗体装载事件的代码是:C onn =“Provider =Mi 2cros oft.Jet.O LE DB.4.0;Data S ource =..\stock.mdb ”Stockconnection.C onnectionString =connDim Cmd As New OleDbC ommand (“Select 3from stock ”,Stockconnection )Da =New OleDbDataAdapter (Cmd )Cbd =New OleDbC ommandBuilder (Da )Stockconnection.Open ()Cmd.ExecuteN onQuery ()Stockconnection.Close ()Da.Fill (Dsstock ,“stock ”)’填充数据集DataG rid1.SetDataBinding (Dsstock ,“stock ”)’用程序实现绑定最后一个语句也可以用下面三个语句来代替可能更好理解一些:Da.Fill (dsstock )Jthtable =dsstock.T ables.Item (0)—49—DataG rid1.DataS ource=Jthtable这里要特别注意数据库的路径问题。

在VB. NET中,每当你创建一个新的项目时,程序会在项目所在的文件夹中自动建立一个Bin的子目录,如果把数据库拷贝到这个子目录中,那么在程序中就可以不写出数据库的路径。

此时,C onn的写法如下: conn=“Provider=Micros oft.Jet.O LE DB.4.0;Data S ource=Stock.mdb”或者写成下面的表达式也可以:conn=“Provider=Micros oft.Jet.O LE DB.4.0;Data S ource=”&Application.StartupPath&“\stock.mdb”如果数据库跟项目文件是放在同一个目录下面,则可以使用下面的写法:C onn=“Provider=Micros oft.Jet.O LE DB.4.0;Data S ource=..\stock.mdb”对于其它的情况都要写出数据库的绝对路径,要不然程序运行时就会出错。

这样,当程序一运行时就会在窗体的DataG rid 中显示数据库所有记录的内容。

此时,你就可以自由地在DataG rid中修改、编辑、添加、删除记录了(当然也可以阻止这些操作)。

尽管用程序把DataG rid 与数据集实现了绑定,但被更改的内容是不会自动保存的,必须编写代码来实现。

图1中的“更新”按钮对应的代码是:Da.UpdateC ommand=Cbd.G etUpdateC ommandDa.Update(Dsstock,“stock”)要正确执行这段程序,必须保证数据库中有一个主键(Primary K ey)。

否则,程序运行时会出错,并且记录也不会真正修改。

因为UpdateC ommand命令要求数据库(表)必须有一个主键。

图1中的“取消更新”按钮对应的代码是:Dsstock.RejectChanges()3 使用文本框显示数据库记录使用文本框可以逐条显示数据库的记录,程序运行时的界面如图2所示。

相关文档
最新文档