CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

请问DataAccess有什么作用呢?

楼主gsnhzb(panda)2006-07-03 17:54:19 在 VB / 基础类 提问

高手指教。 问题点数:10、回复次数:1Top

1 楼gdc2067()回复于 2006-07-03 18:15:23 得分 0

 
  Option   Explicit   On    
  Option   Strict   On  
   
  Imports   System  
  Imports   System.Data  
  Imports   System.Windows.Forms  
  Imports   Microsoft.VisualBasic  
   
   
  'DataAccess   类  
  '实现(插入、更新、删除、执行事务等)数据访问操作  
  Public   Class   clsDataAccess  
   
          '私有字段   -   ADO.Net数据访问对象  
          Private   m_objSqlCommand   As   System.Data.OleDb.OleDbCommand   =   Nothing  
          Private   m_objSqlDataAdapter   As   System.Data.OleDb.OleDbDataAdapter   =   Nothing  
          Private   m_objSqlTransaction   As   System.Data.OleDb.OleDbTransaction   =   Nothing  
   
          '私有字段   -   数据连接源  
          Private   m_strConnectionSource   As   String   =   ""  
   
          '私有字段   -   查询超时  
          Private   m_intSqlTimeOut   As   Integer   =   0  
   
          '私有字段   -   出错信息  
          Private   m_strErrMsg   As   String   =   ""  
   
   
          '私有方法   -   获取应用程序根路径  
          Private   Function   m_funGetAppRootPath()   As   String  
   
                  Dim   strAppRootPath   As   String   =   Application.StartupPath  
   
                  If   Right(strAppRootPath,   1)   =   "\"   Then  
                        Return   strAppRootPath  
                  Else  
                        Return   strAppRootPath   &   "\"  
                  End   If  
   
          End   Function  
   
   
          '标准构造函数1   -   使用连接字符串  
          Public   Sub   New(ByVal   strConnectionString   As   String,   ByVal   intTimeOut   As   Integer)  
   
                  Me.DbConnection   =   New   OleDb.OleDbConnection  
                  Me.DbRecordset   =   New   DataSet  
   
                  Try  
                          Me.m_intSqlTimeOut   =   intTimeOut  
                          Me.m_strConnectionSource   =   strConnectionString.Trim()  
                          Me.DbConnection.ConnectionString   =   Me.m_strConnectionSource  
                          Me.DbConnection.Open()  
   
                  Catch   objErr   As   Exception  
                          Me.m_strErrMsg   =   "初始化失败,参数提供的连接字符串无效!"   &   vbNewLine   &   _  
                                                            "[描述信息]:"   &   objErr.Message   &   vbCrLf   &   _  
                                                            "[错误来源]:"   &   objErr.Source   &   vbCrLf   &   _  
                                                            "[堆栈信息]:"   &   objErr.StackTrace  
                          Throw   New   Exception(Me.m_strErrMsg)  
   
                  Finally  
                          Me.DbConnection.Close()  
                  End   Try  
   
          End   Sub  
   
   
          '标准构造函数2   -   使用   UDL   连接文件  
          Public   Sub   New(ByVal   strUdlFileName   As   String,   ByVal   blnUseLocalPath   As   Boolean,   ByVal   intTimeOut   As   Integer)  
   
                  Me.DbConnection   =   New   OleDb.OleDbConnection  
                  Me.DbRecordset   =   New   DataSet  
   
                  Me.m_strConnectionSource   =   "FILE   NAME="  
                  If   blnUseLocalPath   =   True   Then  
                        Me.m_strConnectionSource   &=   Me.m_funGetAppRootPath()   &   strUdlFileName.Trim()  
                  Else  
                        Me.m_strConnectionSource   &=   strUdlFileName.Trim()  
                  End   If  
   
                  Try  
                          Me.m_intSqlTimeOut   =   intTimeOut  
                          Me.DbConnection.ConnectionString   =   Me.m_strConnectionSource  
                          Me.DbConnection.Open()  
   
                  Catch   objErr   As   Exception  
                          Me.m_strErrMsg   =   "初始化失败,参数提供的Udl连接文件无效!"   &   vbNewLine   &   _  
                                                            "[描述信息]:"   &   objErr.Message   &   vbCrLf   &   _  
                                                            "[错误来源]:"   &   objErr.Source   &   vbCrLf   &   _  
                                                            "[堆栈信息]:"   &   objErr.StackTrace  
                          Throw   New   Exception(Me.m_strErrMsg)  
   
                  Finally  
                          Me.DbConnection.Close()  
                  End   Try  
   
          End   Sub  
   
   
          '公有字段   -   ADO.Net连接对象  
          Public   DbConnection   As   System.Data.OleDb.OleDbConnection   =   Nothing  
   
   
          '公有字段   -   ADO.Net数据集对象  
          Public   DbRecordset   As   System.Data.DataSet   =   Nothing  
   
   
          '公有只读属性   -   数据连接源  
          Public   ReadOnly   Property   ConnectionSource()   As   String  
   
                  Get  
                          Return   Me.m_strConnectionSource.Trim()  
                  End   Get  
   
          End   Property  
   
   
          '公有读写属性   -   Sql超时  
          Public   Property   SqlTimeOut()   As   Integer  
   
                  Get  
                          Return   Me.m_intSqlTimeOut  
                  End   Get  
   
                  Set(ByVal   intValue   As   Integer)  
                          Me.m_intSqlTimeOut   =   intValue  
                  End   Set  
   
          End   Property  
   
   
          '公有方法   -   获得条件参数指定的数据集  
          Public   Sub   GetDataRecordset(ByVal   strDataSource   As   String,   ByVal   strDataTableName   As   String,   _  
                                                                  Optional   ByVal   strSelectList   As   String   =   "*",   Optional   ByVal   blnDistinct   As   Boolean   =   False,   _  
                                                                  Optional   ByVal   strProtasis   As   String   =   "",   Optional   ByVal   strGroupList   As   String   =   "",   _  
                                                                  Optional   ByVal   strOrderList   As   String   =   "",   Optional   ByVal   blnOrderASC   As   Boolean   =   True)  
   
                  Dim   strSqlSelect   As   String   =   "SELECT   "   &   Convert.ToString(IIf(blnDistinct   =   True,   "DISTINCT   ",   ""))   &   strSelectList.Trim()   &   _  
                                                                            "   FROM   "   &   strDataSource.Trim()   &   _  
                                                                            Convert.ToString(IIf(strProtasis   =   "",   "",   "   WHERE   "   &   strProtasis.Trim()))   &   _  
                                                                            Convert.ToString(IIf(strGroupList   =   "",   "",   "   GROUP   BY   "   &   strGroupList.Trim()))   &   _  
                                                                            Convert.ToString(IIf(strOrderList   =   "",   "",   "   ORDER   BY   "   &   strOrderList.Trim()))   &   _  
                                                                            Convert.ToString(IIf(blnOrderASC   =   True,   "   ASC",   "   DESC"))  
   
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:gsnhzb

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo