iCAx开思网

标题: ug二次开发中数据库问题 [打印本页]

作者: tomcindy    时间: 2006-6-19 22:33
标题: ug二次开发中数据库问题
小弟用ug二次开发建库用到数据库,拟用ado连接access,工程是mfc dll.

但是试来是去连不上数据库.

想请问一下大家,mfc dll 连接数据库应该如何设置,如果有作过ug二次建库能帮助我,非常感谢!!!

qq122494049
email:fengjg00000@hotmail.com
作者: tomcindy    时间: 2006-6-21 00:12
希望全国最大的开发论坛能有高人帮帮我啊....
作者: wufei0108    时间: 2006-6-22 16:16
这里面很多东西是用到VC里面的数据库连接 只要加个UG接口就可以啦!
作者: tomcindy    时间: 2006-6-27 13:37
谢谢楼上的跟贴!

我也觉得基本都是vc里面的东西,但是按照那个作编译没有问题,就是连不上.

请问如何给出那个接口?如果有例子就最好了,,

请大家帮助我,斑竹.....

这个完成以后我会写一个帖子作为共享项目的
作者: gangnan    时间: 2006-6-27 15:16
作编译没有问题,连不上应该不是和ug接口的问题,就是没连接成功吧。
把代码就放到一个vc程序里面,试试能连接上了再用。
作者: tomcindy    时间: 2006-6-28 01:43
可以帮我看看连接的程序么?


ufsta接口放在另外的文件中

#import 在stdafx.h中


BOOL CElementInfoDlg::OnInitDialog()
{AfxOleInit();//初始化COM
HRESULT hr;
try
{hr=m_pCon.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\fixture\code\fixture.mdb","","",adModeUnknown);}
}
catch (_com_error e){CString errormessage;
                errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
                AfxMessageBox(errormessage);///显示错误信息
                return FALSE;}
try
{
m_pRec.CreateInstance("ADODB.Recordset");

m_pRec->Open("SELECT*FROM 元件信息表",_variant_t((IDispatch*)m_pCon,true),adOpenDynamic,adLockOptimistic,adCmdText);
//创建记录集*/
m_bSuccess= TRUE;
_variant_t vFieldValue;CString sname,stype;//操作数据库
        m_pRec->MoveFirst();
        vFieldValue=m_pRec->GetCollect("元件名称");
                sname=(LPCSTR)_bstr_t(vFieldValue);
                vFieldValue.Clear();
        vFieldValue=m_pRec->GetCollect("所属类别");
stype=(LPCSTR)_bstr_t(vFieldValue);
       

m_name=sname;m_type=stype;        //赋值给编辑框控件
UpdateData(FALSE);
}
catch(_com_error e)///捕捉异常
        {
                AfxMessageBox("读取数据库失败!");///显示错误信息
        }

}
作者: tomcindy    时间: 2006-6-28 01:44
谢谢大家,谢谢斑竹
作者: gangnan    时间: 2006-6-28 09:38
Data Source=c:\\fixture\code\fixture.mdb

路径都用\\




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3