2022年2022年连接Access数据库 .pdf
-
资源ID:39887606
资源大小:59.38KB
全文页数:4页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年连接Access数据库 .pdf
using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;/导入必要的命名空间using System.Configuration;using System.Data.Common;namespace DBConn public partial class Form1:Form/声明两个 string类型变量,用于存储数据提供者和连接字符串string DbSel,DataProv,ConnStr;/声明 DbConnection类型的 cn 变量DbConnection cn;public Form1()InitializeComponent();/初始化界面控件this.DbState.Text=Closed;this.CloseCnBtn.Enabled=false;/以下为获取 Access 数据库连接字符串的方法private void GetAcStr()/读取 App.config文件 key 属性为“AcProvider”的节点的 value 属性值,并赋值给DataProv 变量DataProv=ConfigurationManager.AppSettingsAcProvider;/读取 App.config文件 name 属性为“AcStr1”的节点的 ConnectionString属性值,并赋值给ConnStr1静态字段string ConnStr1=ConfigurationManager.ConnectionStringsAcStr1.ConnectionString;/读取 App.config文件 name 属性为“AcStr2”的节点的 ConnectionString属性值,并赋值给ConnStr2静态字段string ConnStr2=ConfigurationManager.ConnectionStringsAcStr2.ConnectionString;/获取当前应用程序域中当前程序集的基目录,并和ConnStr1和 ConnStr2组合成完整的字符串,并赋值给ConnStr变量ConnStr=ConnStr1+AppDomain.CurrentDomain.BaseDirectory+ConnStr2;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -/以下为获取 MicroSoft SQL Server数据库连接字符串的方法private void GetMsSQLStr()/读取 App.config文件 key 属性为“SqlProvider”的节点的 value 属性值,并赋值给DataProv 变量DataProv=ConfigurationManager.AppSettingsSqlProvider;/读取 App.config文件 name 属性为“SqlDbStr”的节点的 ConnectionString属性值,并赋值给 ConnStr 变量ConnStr=ConfigurationManager.ConnectionStringsSqlDbStr.ConnectionString;private void ConnBtn_Click(object sender,EventArgs e)try/读取 App.config文件 key 属性为“DbSel”的节点的 value 属性值,并赋值给DbSel 变量this.DbSel=ConfigurationManager.AppSettingsDbSel;/判断 DbSel 变量值是否为“A”if(DbSel=A)/获取 Acess 数据库的连接字符串及System.Data.OleDb数据提供者到相应变量GetAcStr();else /获取 MicroSoft SQL Server数据库的连接字符串及System.Data.SqlClient数据提供者到相应变量GetMsSQLStr();/调用 DbProviderFactories类的 GetFactory方法,并传递 DataProv 变量值,以获取 DbProviderFactory类对象引用 Dpf DbProviderFactory Dpf=DbProviderFactories.GetFactory(DataProv);/调用 Dpf 的 CreateConnection方法,以获取实现DbConnection类的派生类的实例/并将实例引用返回给IDbConnection接口类型的 cn cn=Dpf.CreateConnection();/设置 cn 的 ConnectionString属性为 ConnStr变量cn.ConnectionString=ConnStr;/判断 cn 当前的状态是否为 ConnectionState枚举的 Closed 成员,即 cn 是否为关闭状态if(cn.State=ConnectionState.Closed)/调用 cn 的 Open 方法,打开指定的数据库连接cn.Open();/重设部分控件状态this.DbState.Text=cn.State.ToString();this.ConnBtn.Enabled=false;this.CloseCnBtn.Enabled=true;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -/将 DataProv 变量值赋值给DataProviderTxt控件的 Text 属性this.DataProviderTxt.Text=DataProv;/将 ConnStr变量值赋值给 ConnStrTxt控件的 Text 属性this.ConnStrTxt.Text=ConnStr;/捕捉一般异常,包括数据库连接方面的异常catch(Exception ex)MessageBox.Show(ex.Message);private void CloseCnBtn_Click(object sender,EventArgs e)/判断 cn 当前的状态是否为ConnectionState枚举的 Open 成员,即 cn 是否为打开状态if(cn.State=ConnectionState.Open)/调用 cn 的 Close 方法,关闭指定的数据库连接cn.Close();/重设部分控件状态this.DbState.Text=cn.State.ToString();this.ConnBtn.Enabled=true;this.CloseCnBtn.Enabled=false;/将 DataProviderTxt控件和 ConnStrTxt控件的 Text 属性重设this.DataProviderTxt.Text=this.ConnStrTxt.Text=无;运行程序,默认情况下,数据库连接状态的提示信息为Closed,单击“开始连接”按钮后,程序应打开SQL Server Express数据库的连接,效果如图9.3 所示。关闭该程序,修改App.config文件中 key 属性为“DbSel”的 Add 节点,将其 Value 属性值修改为“A”(默认为“S”)。这时程序应可以打开程序集同目录下DataBase 目录中的 Access 数据库连接,其运行效果如图9.4 所示。图 9.3 程序已打开 SQL Server Express数据库的连接图 9.4 程序已打开 Access 数据库的连接【分析】本题不仅考查面试者实际应用App.config的能力,最重要的是对数据提供者的工厂模型的应用。工厂模型在要求适应不同数据库的项目中被广泛使用,例如该项目可能今天基于SQL Server 进行开发,第二天可能就得基于Oracle 进行开发。无论数据源是什么,ADO.NET 提供一个数据提供程序中立的平台,编程者可以在平台上面建立应用程序,这意味着只需编写一次程序的代码。在必要的情况下,只需少量程序修改或App.config文件的修改,就可以让项目工作在任何数据源之上。工厂模型是一种体系结构,它使得可以从程序访问任何数据库,而ADO.NET 将这种结构完全密封在相关的类型中。因为 ADO.NET 所有的数据提供者所包含的数据对象类都有基本相同的功能,并有着共同的基类,这些基类属于名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -System.Data.Common命名空间。在这个命名空间下,.NET 提供了 DbProviderFactory类用于获取特定数据提供者的数据对象,而这个特定的数据提供者可以由命名空间下的DbProviderFactories类获取,代码如下所示。/调用 DbProviderFactories类的 GetFactory方法,以获取特定数据提供者的DbProviderFactory对象DbProviderFactory Dpf=DbProviderFactories.GetFactory(“数据提供者的命名空间”);通过调用 DbProviderFactories的 GetFactory 静态方法,Dpf 则成为了其参数指定的数据提供者的DbProviderFactory对象,从而创建其他数据对象。例如,本题同样使用以上方法获取特定数据提供者的DbProviderFactory对象,并通过DbProviderFactory对象创建了特定数据提供者的连接对象。由于数据提供者的命名空间和连接字符串都存储于App.config文件中,所以,切换数据库时,并不需要修改程序。?请描述构成ADO.NET的主要对象以及它们的作用在窗体程序中,Appplication.Exit()和窗体类中的this.Close()有什么不同?回到顶端要发表评论,请先登录或 注册.NET 相关课程C#与 ASP.net 开发在线培训友情链接:drupal花园SUNCSDNJava 中文论坛赛迪网PHPChina猪跑吧老葛的BLOG中文 Drupal社区电脑报天极网天空软件站系统之家华软网网易 163 邮箱比特网驱动之家博客园JavaEye计世网EdwardPKU易购通易吧站长电脑 e 家IT 公司面试手册Drupal建站网Drupal博客联盟布拉格公园学员作品网站链接:南京信用卡中心新助成教育传世科技手表网名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -