问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle 访问 access 表

发布网友 发布时间:2022-04-14 03:29

我来回答

4个回答

热心网友 时间:2022-04-14 04:58

没有办法,oracle是不能直接和access相连的,它能和sqlserver、sybase、infomix等数据库相连,再一个就是在sqlserver里边是可以连access的

热心网友 时间:2022-04-14 06:16

建议导入sqlserver中

热心网友 时间:2022-04-14 07:51

有办法,用VC++直接编程,在Pl/sql developer加个程序快捷方式

1.提取单条记录
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%%0"; //*.mdb
//_bstr_t varSource="Data Source=127.0.0.1;Initial Catalog=db2;User Id=;Password=;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknow);
_RecordsetPtr m_pSet(_uuidof(Recordset));
try {
m_pSet->Open(%%1,m_pConnection.GetInterfacePtr()
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
{
AfxMessageBox(e->ErrorMessage());
return;
}
_variant_t var;
CString %%2="";
long fldc=m_pSet->GetFields()->GetCount();
long i=0;
try {
m_pSet->MoveFirst();
if(!m_pSet->adoEOF)
{
for(i=0;i<fldc;i++)
{
var=m_pSet->GetCollect((long)i);
var.ChangeType(VT_BSTR);
%%2+=var.bstrVal;
%%2+=" ";
}
//m_pSet->MoveNext();
}
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
delete e;
}
//m_pSet->MoveFirst();
CoUninitialize();

3.显示表格
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
CoInitialize(NULL);
_bstr_t varSource="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%%0"; //*.mdb
//_bstr_t varSource="Data Source=127.0.0.1;Initial Catalog=db2;User Id=;Password=;"
_ConnectionPtr m_pConnection(_uuidof(Connection));
m_pConnection->Open(varSource,"","",adModeUnknown);
//打开属性为默认(adModeRead(只读),adModeWrite(可写),adModeReadWrite(可读写)等)
_RecordsetPtr m_pSet(_uuidof(Recordset));
try {
HRESULT hr=m_pSet->Open(%%1,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打开成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}
int i=0;
_bstr_t vCol;
//pList->SetTextBkColor(RGB(122,200,122));
//pList->SetTextColor(RGB(0,0,200));
while(!m_pSet->adoEOF)
{
pList->Insert(i,atoi(i));
for(int j=0;j<countfields;j++)
{
vCol=m_pSet->GetCollect((long)j);
pList->SetItemText(i,j,vCol);
}
m_pSet->MoveNext();
i++;
}
CoUninitialize();

5.数值范围查询
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
try
{
//创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\
uid=;pwd=;DBQ=%%0;"; //*.mdb
//使用Open方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
try {
int min = %%1;
int max = %%2;
CString sql;
sql.Format("select count(*) as pro_count from ProPrice where price between %d and %d",min,max);
HRESULT hr=m_pSet->Open(sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
}
catch(_com_error *e){
AfxMessageBox(e->ErrorMessage());
}
if(SUCCESSED(hr))
{
//表打开成功
}
FieldsPtr p_fields=m_pSet->Fields;
FieldPtr p_field;
_variant_t var_index;
LPCSTR field_name;
int index=0;
_bstr_t bstr_field_name;
int countfields=p_fields->GetCount();
CString *Column=new CString[countfields];
CListCtrl *pList=(CListCtrl*)GetDlgItem(%%1);//IDC_LIST_TABLEDATA
VERIFY(pList);
pList->DeleteAllItems();
for(index=0;index<countfields;index++)
{
var_index.vt=VT_I4;
var_index.IVal=index;
p_field=p_fields->Item[var_index];
bstr_field_name=p_field->GetName();
field_name=(LPCSTR)bstr_field_name;
Column[index]=field_name;
int ColumnWidth=Column[index].GetLength()*15;
pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);
}

6.关闭时断开连接
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
::ExitInstance()
{
if (adStateOpen == m_pConnection->State)
m_pConnection->Close();
m_pConnection.Release();
if(adStateOpen == m_pSet->State)
m_pSet->Close();
m_pSet.Release();
return CWinApp::ExitInstance();
}

7.执行命令
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
if(m_pConnection==NULL) return;
_variant RecordAffected;
try
{
m_pConnection->Execute((_bstr_t)%%1,&RecordAffected,adCmdText);
}
catch(_com_error ce)
{
//执行SQL失败
}

15.access数据库
/*
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
*/
try
{
//创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\
uid=;pwd=;DBQ=shujuku.mdb;";
//使用Open方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}

void CConnectDlg::ExitConnect()
{
//关闭记录集和连接
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
}

热心网友 时间:2022-04-14 09:42

用什么来着,用什么来着…………
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 中国重工怎么不能像成发科技公司股票市值大幅上涨 苹果6怎么下载IE6浏览器 现在中航动控和成发科技的股价差多少钱了 成发科技股价沪港通后会涨吗? 如何使IE下载提速? 懂股的朋友可以帮看看成发科技星期一可以进吗 成发科技股票的发行价 成发科技的经营范围 中华联合财产保险公司在保险行业中排名 成发科技是不是优绩股 成发科技是军工股吗 真汗子电推剪维修及安装 不剪 我家的美的空调已经用了6年之久了,从未拆过,搬家后是第2次安装。 空调遥控器被我弄碎了,到哪买到空调遥控器。美的空调。 搬家搬空调需要注意什么。换什么。 我去年买的美的空调今年搬家拆下来放家里,如果以后想再装上,&#65533;&#65533; 美的空调扇早上还是好的,中午搬家的时候,倒置后袋子里。回去后掏出来,打开 ,按开关没动静了,怎么回事 买的美的空调因为搬家拆装过现在说是不包修 合理么 我的美的立体空调已买17年,要搬家了可不可以搬进新家? 中职学生应该如何明辨是非,抵制庸俗的,低级的网络*,做到文明上网? 怎样是健康上网 盘点性感动作片,【在线观看】免费百度云资源 《爱神艳史》免费在线观看完整版高清,求百度网盘资源 住校如何洗屁股 怎样认银真假 虽然很不好意思,但是想知道,我是北方的,北方女生大学里没有独卫,澡堂也没有隔间,怎么洗私密处啊? 如何在学校公共大澡堂里洗澡,急急 怎样区分银的真假鉴别 菜品平均毛利怎么算 怎么辨别银真假??? 宿舍没有独立卫生间,女生怎么洗屁股? 怎样辨别银真假? 怎样辨别银真假 电饼档烙的饼好吃吗? 红双喜烙饼锅怎么样 如何用高压锅烙饼 如何用电饼铛烙饼 二手车可以换车牌吗 我购买的二手车没有过户,可以换牌照吗? 冬至的起源简短 天津两年前买的二手车,想卖了,牌照还有吗?可以再买辆二手车,换上去吗 在外地买二手车,可以过户后换本地牌照吗?