1 Oracle数据库连接
CoInitialize(NULL);//初始化ADO也就是COM函数
_ConnectionPtr m_pCon (__uuidof(Connection));//创建连接对象
try
{
CString Link = _T("Provider=OraOLEDB.Oracle;Data Source=orcl");//驱动和Oracle服务
CString Name = _T("123");//用户名(Oracle用户名)
CString Word = _T("123");//密码
m_pCon ->Open((LPCTSTR)Link,
(LPCTSTR)Name,
(LPCTSTR)Word,
adConnectUnspecified); //打开连接,adConnectUnspecified同步
}
catch(_com_error& e)
{
AfxMessageBox(_T("失败"),MB_OK,0);
}
注:
在stdafx.h最后加入 #import "C:\\Program Files\\Common Files\\System\\ado\\ msado15.dll"no_namespace rename("EOF","AdoEOF")
2 SQL(Oracle)语句
(1)查询语句
CString SZSQL;
_RecordsetPtr pRst(__uuidof(Recordset));//创建记录集指针,首先指向的是第一行
try
{
//输入查询语句
szSQL . Format(TEXT(“SELECT*FROM RZ_STUDENTINFORMATION”));// RZ_STUDENTINFORMATION是表名
pRst ->Open((LPCTSTR)szSQL,
(IDispatch *)m_pCnt,
adOpenKeyset, adLockReadOnly, adCmdText);//打开数据库
int nItem =0;
while (!pRst ->AdoEOF)//表示是否到没有数据的项,此句表示有数据的项
{
//插入数据
m_list . InsertItem(nItem,(_bstrt_t) pRst->GetCollect(TEXT(“学号”)));
m_list . SetItemText(nItem,1,(_bstrt_t) pRst->GetCollect(TEXT(“姓名)));
m_list . InsertItem(nItem,2,(_bstrt_t) pRst->GetCollect(TEXT(“年龄)));
nItem++;
m_pRs->MoveNext();//指向下一行
}
m_pRs->Close(); //查询完成,关闭查询
m_pRs = NULL; //完全释放内存
}
catch(_com_error &e)
{
ComErrorHandler(e,NULL);
Return FALSE;
}
(2)删除语句
szSQL . Format(TEXT(“DELETE*FROM RZ_STUDENTINFORMATION WHERE 学号 = %s”),strID);//RZ_STUDEN TINFORMATION是表名
(3)添加语句
szSQL . Format(TEXT(“INSERT INTO RZ_STUDENTINFORMATION VALUES (‘%s’,’%s’,’%s’)” , str1 ,str2 ,str3); // RZ_STUDENTINFORMATION是表名
(4)修改语句
szSQL . Format(TEXT(“UPDATE * WHERE 学号 = %s”));// RZ_STUDENTINFOR MATION是表名
Oracle数据库
最新推荐文章于 2022-12-08 16:48:55 发布