是在VC6里面访问的,试了很多方法都不行!哪位帮忙试一下啊!
函数内容如下: (in_username IN VARCHAR2, in_password IN VARCHAR2)
RETURN pkg_linbo.myrctype
AS
rc pkg_linbo.myrctype;
BEGIN
OPEN rc
FOR
SELECT user_name
FROM tuser; RETURN rc;
END;
函数内容如下: (in_username IN VARCHAR2, in_password IN VARCHAR2)
RETURN pkg_linbo.myrctype
AS
rc pkg_linbo.myrctype;
BEGIN
OPEN rc
FOR
SELECT user_name
FROM tuser; RETURN rc;
END;
1。你首先需要在Oracle中配置好相关的服务,并且测试通过。
2。把msado15.dll拷贝到工程目录,在工程文件的stdafx.h中添加一行
#import "msado15.dll" no_namespace rename("EOF","adoEOF")
3。在app的InitInstance函数里添加AfxOleInit(),初始化
4。_ConnectionPtr m_Mydb;
CString Connectstring;
Connectstring="Provider=MSDAORA.1;Password=密码;User ID=用户名;Data Source=
服务名;Persist Security Info=True";
m_Mydb->ConnectionTimeout=100;
try //检查数据库连接是否正常
{
if(m_MyDb->State!=adStateClosed)
{
m_MyDb->Close();
m_MyDb->Open((_bstr_t)Connectstring,"","",-1);
}
else
{
m_MyDb->Open((_bstr_t)Connectstring,"","",-1);
}
}
catch(...)
{
MessageBox("无法连接数据库,请重新设置");
return;
}
使用
_CommandPtr pCmd = NULL;
pCmd.CreateInstance(__uuidof(Command));
pCmd->CommandType = adCmdStoredProc;
pCmd->CommandText = yourprocname;
_ParameterPtr pPara = NULL;
pPara.CreateInstance(__uuidof(Parameter));
VARIANT v;
v.vt=
v.bstrVal=
pPara=pCmd->CreateParameter("param1",ad...,ad...,sizeof(),v);
pCmd->Parameters->Append(pPara);
......
pCmd->ActiveConnection = ...
m_pRecordset = pCmd->Execute(NULL,NULL,adStoredProc);不好意思,大概的代码就是这样的,你再修改一下。
这里有vb的例子
http://www.ysn.ru/docs/oracle/win.920/a95498/using.htm