制作控件时,如何调用adodc的数据连接属性页?

WTman 2003-08-26 10:07:18
我想制作一个控件,但是这个控件会涉及到数据库的连接,我想做像adodc控件一样的数据连接属性页,但是做起来有点麻烦,所以想问一下,vb中能不能直接调用这种属性页,怎么调用(我看到过有些软件的数据连接界面好像就是调用的),希望大家出手相助!谢谢!
...全文
33 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxcc 2003-08-26
  • 打赏
  • 举报
回复
引用ADO和OLE DB Service Component...

Option Explicit
Dim adoConn As ADODB.Connection
Private Function BuildAdoConnection(ByVal ConnectionString As String) As String

' display the ADO Connection Window (ADO DB Designer)

Dim dlViewConnection As MSDASC.DataLinks

On Error GoTo Err_BuildAdoConnection


If Not (Trim$(ConnectionString) = "") Then
Set adoConn = New ADODB.Connection
adoConn.ConnectionString = ConnectionString
Set dlViewConnection = New MSDASC.DataLinks
dlViewConnection.hWnd = Me.hWnd
If dlViewConnection.PromptEdit(adoConn) Then
BuildAdoConnection = adoConn.ConnectionString
Else
BuildAdoConnection = ConnectionString
End If
Set dlViewConnection = Nothing
Set adoConn = Nothing
Else
Set dlViewConnection = New MSDASC.DataLinks
dlViewConnection.hWnd = Me.hWnd
Set adoConn = dlViewConnection.PromptNew
BuildAdoConnection = adoConn.ConnectionString
Set dlViewConnection = Nothing
Set adoConn = Nothing
End If

Exit_BuildAdoConnection:

On Error Resume Next
If Not (adoConn Is Nothing) Then
Set adoConn = Nothing
End If
If Not (dlViewConnection Is Nothing) Then
Set dlViewConnection = Nothing
End If
On Error GoTo 0
Exit Function

Err_BuildAdoConnection:

Select Case Err
Case 0
Resume Next
Case -2147217805
adoConn.ConnectionString = ""
Resume
Case 91
Resume Exit_BuildAdoConnection
Case Else
MsgBox "Error: " & Err.Number & vbCrLf & vbCrLf & Err.Description, vbInformation, App.Title & " - Advisory"
Resume Exit_BuildAdoConnection
End Select

End Function


Private Sub Command1_Click()
Set adoConn = New ADODB.Connection
Dim strAdoConn As String
strAdoConn = BuildAdoConnection("") 'strAdoConn 为连接字符串
MsgBox strAdoConn
End Sub
武 汉 工 程 大 学 计算机科学与工程学院 数据库设计与应用开发全文共5,当前为第1。《数据库系统概论》实验报告 数据库设计与应用开发全文共5,当前为第1。 专业班级 11网工1-2 实验地点 计算机大楼423机房 学生学号 指导教师 学生姓名 实验间 实验项目 实验3 数据库设计与应用开发(6学) 实验类别 操作性() 验证性() 设计性( ) 综合性( ) 其它( ) 实验目的及要求 1. 依照数据库设计的方法,完成学生管理系统的数据库设计。 2. 掌握程序设计语言和SQL-Server的连接方法。 3. 建立简单的数据库访问界面。掌握数据库应用系统开发的基本方法。 成 绩 评 定 表 类 别 评 分 标 准 分值 得分 合 计 上机表现 积极出勤、遵守纪律主动完成实验设计任务 30分 程序代码 比较规范、基本正确功能达到实验要求 30分 实验报告 及递交、填写规范 内容完整、体现收获 40分 说明: 评阅教师: 日 期: 2013 年 月 日 实 验 内 容 实验内容: 依照学生管理系统的要求,完成如下任务 1.设计适合此应用需求的规范化的数据库。 2.学习如何进行数据连接。 4.制作一个简单的数据库访问程序。(DELPHI、VB、PB等) 要求能完成下列处理要求: 1.学生信息的增、删、改及查询操作。 2.选课和课程信息的系列操作。 实验步骤: 一、VB连接SQL Server数据库方法一: 1)打开VB,新建一个"标准EXE"。 2)在"工程"里面选择"部件",添加"Microsoft ADO Data Control 6.0(SP6)"和"Microsoft DataGrid Control 6.0(SP6)",点击"确定"。 3)在左侧工具中双击Adodc控件和DataGrid控件并将其放在合适的位置。 4) 右击Adodc1,在弹出的下拉菜单中选择"ADODC属性",出现属性,选择"使用连接字符串",点击"生成",选择"Microsoft OLE DB Provider for SQL Server",点击下一步。 5)在"数据链接属性"中输入如图所示信息,点击确定。 6)点击"测试连接"。 7) 在Form1空白处双击鼠标左键,弹出代码编辑窗口。 8)在编辑窗口输入如下代码。 Private Sub DataGrid1_Click() Adodc1.Visible = False Adodc1.RecordSource = "select * from Student" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1.Recordset DataGrid1.Refresh End Sub 9)点击"运行",则连接到JXGL数据库的Student表,出现如图所示的结果。 10)连接Course表和SC表只需将代码中的表名修改即可,得到如下结果。 (1)VB和JXGL数据库Course表连接结果: (2) VB和JXGL数据库SC表连接结果: VB连接SQL Server数据库方法二以及数据库的访问程序: (一)VB连接SQL Server数据库: 打开控制面板,双击"数据源"图标。 在"ODBC数据源管理器"中选择"系统DSN",点击"添加"按钮,出现"创建新数据面",选择添加SQL Server。 在创建到SQL Server的新数据源中输入"数据源名称",选择我们需要的服务器类型。 数据库设计与应用开发全文共5,当前为第2。4)在"创建到SQL Server的新数据源"中选择"使用网络登录ID的Windows NT验证"。 数据库设计与应用开发全文共5,当前为第2。 5)在"更改默认的数据库为(D)"选择我们所需的数据源名称,点击"下一步" ,再点击"完成"。 6)点击"测试数据源",出现"测试成功",则连接成功。 数据库的访问程序: 1、对数据库的查询: 双击"Adodc控件",添加如图所示的控件。 右击"Adodc控件"设置其属性如下所示。 在右侧属性-Form1中分别设置Text1的DataSource为"Adodc1",DataField为"Sno",Text2的DataSource为"Adodc1",DataField为"Sname",Text3的DataSource为"Adodc1",DataField为"Ssex"。 点击VB中的"运行"按钮,则可以成功查询Student表中学生的信息。 5)点击"Adodc控件"中向右的图标,则可以查询到所有学生的信息。 对数据库中数据的添加: 在VB中新建一个窗体,如图所示。 在左侧工具中双击"Adodc控件"和"DataGrid控件"并将其放在合适的位置。 对"Adodc
比网上其他版本(也包括之前在此发的两次)修正: 去除tab只有9的限制 修正tab宽度超过1万后,应该在其他中的控件会留一部分在当前 放多个没有left、top或WhatsThisHelpID的控件不会产生错误(只是不会随变动) 修正tabstop不能保持原值错误 修正鼠标停在tab上会不断刷新占用系统资源甚至内存溢出错误(去除usercontrol_mouseover中refresh) tab标题头背景透明处理(美化了^_^) '-------------------------------------------- 修正后仍存在的不足 -------------------------------- 1、控件必须编译后使用,否则一旦拖放出新的adodc等会让自定义控件变为不可用状态的控件,TAB则会跳错乱! 2、tab控件中的WhatsThisHelpID属性被占用(-_-#,没办法,为了省系统资源,好在多数控件有这个属性且基本没人用,偷笑^^) 3、没有WhatsThisHelpID属性控件不会随变动 4、如果把本控件的BackColor设成&H00FF00DA& ,则所有放在Tab上的控件将与背景一起被透明掉。 (本控件会重画放在其上的控件,所以控件也会被透明) 这个问题其实不算问题,没人必须把背景色设的和这个完全一样吧^^,哪怕差1也可以啊,点明这个问题只是要说明本控件的背景透明或任意形状控件制作原理 原理: backstyle设为:0 maskColor设为:&H00FF00DA& (这个控件里UserControl的BackColor也要设为:&H00FF00DA&) 在Refresh方法中将在UserControl中重绘好的图作为maskPicture,即: Set UserControl.MaskPicture = UserControl.Image 这样maskpicture中背景没有被重绘的部分保持&H00FF00DA&(即与maskcolor指定的颜色相同色),该颜色的部分即被透明 (注意,指定了backstyle=0及maskpicture后超出maskpicture大小的部分全部会被透明)!!! '---------------------------------------------------------比这个前一个版本的是没有用API的,可以在我的资源里找到前两次修改的版本,使用的话还是用这个版本 这几个控件有很多可学的地方, 比如其中的错误处理(网上的源码和我上一个修改版本的源码中错误处理的部分是不太合理的,虽然我和这个控件的其他修改者一样思路,但研究后最终还是用这次发布的这个版本) 比如上一版本中的无API绘图,这个版本有api,因此图大小可变 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 测试.vbp那个是原先旧版的测试,没有跟着新版修改,所以不兼容,此楼新版是经过测试的,编译好的ocx可以直接使用(★必须使用编译好的ocx,原因一楼已经说了★) 对编译好的ocx有疑问或自己要改进的可以直接修改TabSwitch.vbp,再重新编译
图书库存管理系统 模块: …………………………………………………………………… 入库管理 出库管理 入库统计 FLASH画面-系统主控截面- 出库统计 入库结存报表 出库结存报表 权限维护 …………………………………………………………………… 创建图书管理数据库。(tsglbase) 创建表: 1:入库图书数据表(rkb) ………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 版次 text 10 库存数 integer 默认 单价 currency 默认 库存金额 currency 默认 入库间 date/time 默认 …………………………………………………… 2: 图书出库数据表(ckb) ………………………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 版次 text 10 出库数 integer 默认 单价 currency 默认 出库金额 currency 默认 出库间 date/time 默认 …………………………………………………… 3:图书主表(tszb) …………………………………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 ………………………………………………………… 4:密码表(mmb) …………………………………………………… 密码 text 20 主要的唯一的 不为空 用户名 text 50 ………………………………………………………… 张 123。。。。王 456 …………………………………………………………………………………………… 制作工程: 1:创建FLASH画面,FROM1(startFROM。FRM) 在窗体中放一个计控件,在该控件用于控制FLASH画面显示的间。 在放一个文本控件,用于计,设置visible的属性为假,text属性为1 放一个图片控件,并引入一个图片, 2:制作系统主控界面,FROM2(MAINFROM。FRM) 在穿体中放5个形状控件,shape1,shape2,shape3,shape4,shape5 还有个5个标签控件,在放一个标签控件,用于返回启动画面 在放一个数据控件DATA,用它来引入数据源,设置它为不可见 3: 制作图书入库管理窗体(入库管理)(inputbook。FRM) 在工程增加一个新窗体,该窗体用数据窗体向导加以制作, 在窗体布局选项中用“主表/细表” “图书主表”和“入库图书数据表” 帮定类型选“ADO数据控件” 4: 制作图书出库窗体 (图书出库)(outputbook.frm) 在工程增加一个新窗体,该窗体用数据窗体向导加以制作, 在窗体布局选项中用“主表/细表”两个表为 帮定类型选“ADO数据控件“ 在引用一个DATAGRID控件:把他的allowaddnew allowdelete allowupdata 属性设置为真 5:创建图书入库结算窗体(入库统计)(sumrk。FRM) 数据控件ADODC,……………………………… name DATPRIMARYRS connectstring provider=microsoft.jet.oledb.3.51;data source=数据库路径 recordsource select 图书编号,书名,版次,库存数,单价 库存金额,作者,出版社,入库日期 from 入库图书数据表(rkb) …………………………………………………… 6:创建图书出库结存窗体(出库统计)。(tsck。FRM) 数据控件ADODC,……………………………… name DATPRIMARYRS connectstring provider=microsoft.jet.oledb.3.51;data source=数据库路径 recordsource select 图书编号,书名,版次,出库数,单价 出库金额,作者,出版社,出库日期 from 出库图书数据表(ckb) …………………………………………………… 7:制作入库图书结存报表 工程——更多SctiveX设计器——data enviroment 单击connection1的属性,选择mcrosoft jet 3.51 ole db provider 单击下一步 数据提供者或连接数据属性的全程为: provider= mcrosoft jet OLEDB.3.51 ;PERSIST security info=false; data source=数据库路径 然后,工程——添加 datareport (报表) 右击connection1,单击“添加命令”菜单,出现一个新的命令command1 该命令属性为 …………………… connectionname connction1 commandtype 2—adcmdtable commandtext 入库图书数据表 把datareport1的数据源的属性datasource为dtaenvironment1 在报表头带区放一个标签控件,用于说明报表名称:“图书入 库 结算报表” 在报表的标头区中放入5个标签控件,用于说明 报表每列的 内容 在报表的细节带区放5个文本框控件,用于显示数据表中的数据 8:制作入库图书结存报表 制作工程和7一样 9:制作用户权限维护窗体mmform(mmform。frm)
武 汉 工 程 大 学 计算机科学与工程学院 《数据库系统概论》实验报告 "专业班级 "11网工1-2 "实验地点 "计算机大楼423机房 " "学生学号 " "指导教师 " " "学生姓名 " "实验间 " " " " "实验项目 "实验3 数据库设计与应用开发(6学) " "实验类别 "操作性() 验证性() 设计性( ) 综合性( ) 其它 " " "( ) " "实验目的及要 "1. 依照数据库设计的方法,完成学生管理系统的数据库设 " "求 "计。 " " "2. 掌握程序设计语言和SQL-Server的连接方法。 " " "3. 建立简单的数据库访问界面。掌握数据库应用系统开发 " " "的基本方法。 " " " "成 绩 评 定 表 " "类 别 "评 分 标 准 "分值 "得分 "合 计 " "上机表现 "积极出勤、遵守纪律 "30分 " " " " "主动完成实验设计任务 " " " " "程序代码 "比较规范、基本正确 "30分 " " " " "功能达到实验要求 " " " " "实验报告 "及递交、填写规范 "40分 " " " " "内容完整、体现收获 " " " " "说明: 评阅教师: " " " "日 期: 2013 年 月 日 " "实 验 内 容 " "实验内容: " "依照学生管理系统的要求,完成如下任务 " "1.设计适合此应用需求的规范化的数据库。 " "2.学习如何进行数据连接。 " "4.制作一个简单的数据库访问程序。(DELPHI、VB、PB等) " "要求能完成下列处理要求: " "1.学生信息的增、删、改及查询操作。 " "2.选课和课程信息的系列操作。 " "实验步骤: " "一、VB连接SQL Server数据库方法一: " "1)打开VB,新建一个"标准EXE"。 " "2)在"工程"里面选择"部件",添加"Microsoft ADO Data Control " "6.0(SP6)"和"Microsoft DataGrid Control 6.0(SP6)",点击"确定"。 " "3)在左侧工具中双击Adodc控件和DataGrid控件并将其放在合适的位置。 " "4) " "右击Adodc1,在弹出的下拉菜单中选择"ADODC属性",出现属性,选择"使 " "用连接字符串",点击"生成",选择"Microsoft OLE DB Provider for SQL " "Server",点击下一步。 " "5)在"数据链接属性"中输入如图所示信息,点击确定。 " "6)点击"测试连接"。 " "7) 在Form1空白处双击鼠标左键,弹出代码编辑窗口。 " "8)在编辑窗口输入如下代码。 " "Private Sub DataGrid1_Click() " "Adodc1.Visible = False " "Adodc1.RecordSource = "select * from Student" " "Adodc1.Refresh " "Set DataGrid1.DataSource = Adodc1.Recordset " "DataGrid1.Refresh " "End Sub " "9)点击"运行",则连接到JXGL数据库的Student表,出现如图所示的结果。 " "10)连接Course表和SC表只需将代码中的表名修改即可,得到如下结果。 " "(1)VB和JXGL数据库Course表连接结果: " "(2) VB和JXGL数据库SC表连接结果: " "VB连接SQL Server数据库方法二以及数据库的访问程序: " "(一)VB连接SQL Server数据库: " "打开控制面板,双击"数据源"图标。 " "在"ODBC数据源管理器"中选择"系统DSN",点击"添加"按钮,出现"创建新数 " "据源面",选择添加SQL Server。 " "在创建到SQL " "Server的新数据源中输入"数据源名称",选择我们需要的服务器类型。 " "4)在"创建到SQL Server的新数据源"中选择"使用网络登录ID的Windows " "NT验证"。 " "5)在"更改默认的数据库为(D)"选择我们所需的数据源名称,点击"下一 " "步" " ",再点击"完成"。 " "6)点击"测试数据源",出现"测试成功",则连接成功。 " "数据库的访问程序: " "1、对数据库的查询: " "双击"Adodc控件",添加如图所示的控件。 " "右击"Adodc控件"设置其属性如下所示。 " "在右侧属性-Form1中分别设置Text1的DataSource为"Adodc1",DataField为" ""Sno",Text2的DataSource为"Ad
武 汉 工 程 大 学 计算机科学与工程学院 《数据库系统概论》实验报告 "专业班级 "11网工1-2 "实验地点 "计算机大楼423机房 " "学生学号 " "指导教师 " " "学生姓名 " "实验间 " " " " "实验项目 "实验3 数据库设计与应用开发(6学) " "实验类别 "操作性() 验证性() 设计性( ) 综合性( ) 其它 " " "( ) " "实验目的及要 "1. 依照数据库设计的方法,完成学生管理系统的数据库设 " "求 "计。 " " "2. 掌握程序设计语言和SQL-Server的连接方法。 " " "3. 建立简单的数据库访问界面。掌握数据库应用系统开发 " " "的基本方法。 " " " "成 绩 评 定 表 " "类 别 "评 分 标 准 "分值 "得分 "合 计 " "上机表现 "积极出勤、遵守纪律 "30分 " " " " "主动完成实验设计任务 " " " " "程序代码 "比较规范、基本正确 "30分 " " " " "功能达到实验要求 " " " " "实验报告 "及递交、填写规范 "40分 " " " " "内容完整、体现收获 " " " " "说明: 评阅教师: " " " "日 期: 2013 年 月 日 " "实 验 内 容 " "实验内容: " "依照学生管理系统的要求,完成如下任务 " "1.设计适合此应用需求的规范化的数据库。 " "2.学习如何进行数据连接。 " "4.制作一个简单的数据库访问程序。(DELPHI、VB、PB等) " "要求能完成下列处理要求: " "1.学生信息的增、删、改及查询操作。 " "2.选课和课程信息的系列操作。 " "实验步骤: " "一、VB连接SQL Server数据库方法一: " "1)打开VB,新建一个"标准EXE"。 " " " " " "2)在"工程"里面选择"部件",添加"Microsoft ADO Data Control " "6.0(SP6)"和"Microsoft DataGrid Control 6.0(SP6)",点击"确定"。 " " " " " " " "3)在左侧工具中双击Adodc控件和DataGrid控件并将其放在合适的位置。 " " " " " "4) " "右击Adodc1,在弹出的下拉菜单中选择"ADODC属性",出现属性,选择"使 " "用连接字符串",点击"生成",选择"Microsoft OLE DB Provider for SQL " "Server",点击下一步。 " " " " " " " "5)在"数据链接属性"中输入如图所示信息,点击确定。 " " " " " "6)点击"测试连接"。 " " " " " "7) 在Form1空白处双击鼠标左键,弹出代码编辑窗口。 " " " " " "8)在编辑窗口输入如下代码。 " "Private Sub DataGrid1_Click() " "Adodc1.Visible = False " "Adodc1.RecordSource = "select * from Student" " "Adodc1.Refresh " "Set DataGrid1.DataSource = Adodc1.Recordset " "DataGrid1.Refresh " "End Sub " " " " " " " "9)点击"运行",则连接到JXGL数据库的Student表,出现如图所示的结果。 " " " " " " " "10)连接Course表和SC表只需将代码中的表名修改即可,得到如下结果。 " "(1)VB和JXGL数据库Course表连接结果: " " " "(2) VB和JXGL数据库SC表连接结果: " " " " " "VB连接SQL Server数据库方法二以及数据库的访问程序: " "(一)VB连接SQL Server数据库: " "打开控制面板,双击"数据源"图标。 " " " "在"ODBC数据源管理器"中选择"系统DSN",点击"添加"按钮,出现"创建新数 " "据源面",选择添加SQL Server。 " " " " " "在创建到SQL " "Server的新数据源中输入"数据源名称",选择我们需要的服务器类型。 " " " "4)在"创建到SQL Server的新数据源"中选择"使用网络登录ID的Windows " "NT验证"。 " " " "5)在"更改默认的数据库为(D)"选择我们所需的数据源名称,点击"下一 " "步" " ",再点击"完成"。 " " " " " "6)点击"测试数据源",出现"测试成功",则连接成功。 " " " "数据库的访问程序: " "1、对数据库的查询: " "

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧