如何添加access数据库中的ole对象到程序中

如何添加access数据库中的ole对象到程序中,第1张

我需要知道数据库的abc表、xyz字段(也就是xyz列)的数据类型,因为不同类型字段的数据提取方法有所不同。

是“OLE 对象”数据类型,就说明该字段的数据是一个对象、一个整体,VB中的控件是无法对其进行编辑的,如果要编辑就必须调用其他程序来实现。不过如果数据库中存储OLE 对象的字段的数据类型是备注型的话,倒是可以通过richtextbox控件来读取、修改,调用其他程序编辑OLE 对象也比较容易。

具体做法:

新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。

然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中选MICROSOFT jet 40 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。

SQL查询语言主要结构为:

Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]

查询字段必须分别用(西文)逗号分开或就用一个号代替,上述查询中排序语句建议最好应用。

SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT FROM TabelName"作调试,无问题,用一个按钮孔件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1孔件,再添加ADODC1控件再添其他内容。

在利用ado连接数据库之前,需要做一些准备

1用#import指令引入ADO类型库

我们在stdafxh中加入如下语句:

#import "c:program filescommon filessystemadomsado15dll" no_namespace rename("EOF","adoEOF") 。

这一语句有何作用呢?其最终作用同我们熟悉的#i nclude类似,编译的时候系统会为我们生成msado15tlh,ado15tli两个C++头文件来定义ADO库。

几点说明:

(1) 您的环境中msado15dll不一定在这个目录下,请按实际情况修改

(2) 在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。msado15tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

2、初始化OLE/COM库环境

必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。

BOOL CMyAdoTestApp::InitInstance()

{

if(!AfxOleInit())//这就是初始化COM库

{

AfxMessageBox(“OLE初始化出错!”);

return FALSE;

}

}

3ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。与数据库的连接就是用_ConnectionPtr接口,它的连接字符串可以是自己直接写,也可以指向一个ODBC DSN。以下的例子都测试通过,顺便写了SQL Server的例子。

BOOL CTestconDlg::ConnectDatabase()

{

CString m_server,m_data,m_uid,m_pwd;

m_server="192168024";//服务器ip或名称

m_data="crmdb";//ODBC数据源

m_uid="njcrm";//用户名

m_pwd="crmdbo";//密码

BOOL retFt=false;

HRESULT hr;

try

{

hr = m_pConnectionCreateInstance("ADODBConnection");///创建Connection对象

if(SUCCEEDED(hr))

{

_bstr_t connStr;

m_pConnection->CursorLocation=adUseClient;

//begin---------------Oracle ODBC 配置数据源-------------------------------------

//控制面板->管理工具->数据源(ODBC)->系统DNS->添加->Microsoft ODBC for Oracle->完成->配置……

// connStr="DSN="+m_data;

// m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);

//end---------------Oracle ODBC 配置数据源---------------------------------------

//begin---------------Oracle 标准安全级别---------------------------------------

// connStr="Provider=OraOLEDBOracle;User ID=njcrm;Password=crmdbo;Data Source=192168024;";

// m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(""),(_bstr_t)_T(""),adConnectUnspecified);

//end---------------Oracle 标准安全级别---------------------------------------

//begin---------------Oracle 微软格式----------------------------------

以上就是关于如何添加access数据库中的ole对象到程序中全部的内容,包括:如何添加access数据库中的ole对象到程序中、vb连接数据库OLE字段怎么连接、连oracle数据库用ole,连接串应该怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9296432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存