如何向远端的数据库的一张表中添加一条记录,使用SQL语句。急急急 急急急 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 insert into tablename values(field1,field2.....) 是在程序中实现SQL形式的添加工作 你可以使用ADO连接数据库,再用ADO执行SQL语句,例子如下:在stdafx.h中添加:#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")正式代码:_RecordsetPtr m_pRs;_ConnectionPtr m_pConn;try{ CoInitialize(NULL); m_pConn.CreateInstance(__uuidof(Connection)); m_pRs.CreateInstance(__uuidof(Recordset)); //设置服务器端游标 m_pConn->CursorLocation = adUseServer;//adUseClient;adUseNone //连接ORACLE数据库 m_pConn->Open(L"Provider=OraOLEDB.Oracle.1;User ID=pkuwh_za;password=a;Data Source=213;Persist Security Info=False", L"",L"",adOpenUnspecified); //上面的语句按下面的方式写可以不用配置oracle数据源 //m_pConn->Open(L"Provider=OraOLEDB.Oracle.1;User ID=pkuwh_za;Password=a;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.213)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = ZAGL)));Persist Security Info=False",L"",L"",adOpenUnspecified); m_pRs->PutRefActiveConnection(m_pConn); CString t = "select * from case_acceptinfo where rownum <= 3"; m_pRs->Open(_variant_t(t),_variant_t((IDispatch*)m_pConn,true),adOpenDynamic,adLockOptimistic,adCmdUnknown); while(!m_pRs->adoEOF) { CString m_s1 = _com_util::ConvertBSTRToString((_bstr_t)m_pRs->GetCollect("reporttime")); MessageBox(m_s1); m_pRs->MoveNext(); } m_pRs->Close(); m_pConn->Close(); m_pRs=NULL; m_pConn=NULL; CoUninitialize();}catch(_com_error &e){ AfxMessageBox(e.Description());} 不管是远端,还是本地,就用ADO连接数据库。插入数据也没区别。都一样。用insert into 即可。 1.stdafx.h中加入#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 2。app文件的InitInstance中加入if(S_OK!=OleInitialize(NULL)){ AfxMessageBox("初始化COM组件库错误");}下面就是数据库操作_ConnectionPtr pConn; _RecordsetPtr pRs; CString strSQL;pConn.CreateInstance(__uuidof(Connection)); pConn->CursorLocation=adUseClient; strSQL="Provider=SQLOLEDB;Server=远端IP;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa"; pConn->Open(_bstr_t(strSQL),"","",-1); pRs.CreateInstance(__uuidof(Recordset)); pRs->CursorLocation=adUseClient; pRs->PutActiveConnection(pConn.GetInterfacePtr()); pRs1.CreateInstance(__uuidof(Recordset)); pRs1->CursorLocation=adUseClient; pRs1->PutActiveConnection(pConn.GetInterfacePtr()); strSQL="insert into tablename values(field1,field2.....)"; pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText); 心情贴:同事辞职了 opengl实现一个点绕另一个点旋转时遇到了一个问题 求 用VC++编写的使用columnclick进行实现列表的单列排序算法 急!急!急!!!!! listctrl 全局静态变量的问题 困惑了!同样的代码只有前三个功能能实现,最后一个无法实现。 怎么用VC实现在面板上播放.PDF文件 注册表编程求助,稻草也救命! CTreeCtrl 保证文件夹和文件分别按字母排序 链接错误如何解决?大虾们,帮一把吧。 急!关于自动导出组件信息的问题 各位高手帮帮忙吧?我是一个菜鸟!!!急!!!!
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")正式代码:
_RecordsetPtr m_pRs;
_ConnectionPtr m_pConn;
try
{
CoInitialize(NULL); m_pConn.CreateInstance(__uuidof(Connection));
m_pRs.CreateInstance(__uuidof(Recordset));
//设置服务器端游标
m_pConn->CursorLocation = adUseServer;//adUseClient;adUseNone
//连接ORACLE数据库
m_pConn->Open(L"Provider=OraOLEDB.Oracle.1;User ID=pkuwh_za;password=a;Data Source=213;Persist Security Info=False",
L"",L"",adOpenUnspecified);
//上面的语句按下面的方式写可以不用配置oracle数据源
//m_pConn->Open(L"Provider=OraOLEDB.Oracle.1;User ID=pkuwh_za;Password=a;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.213)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = ZAGL)));Persist Security Info=False",L"",L"",adOpenUnspecified);
m_pRs->PutRefActiveConnection(m_pConn);
CString t = "select * from case_acceptinfo where rownum <= 3";
m_pRs->Open(_variant_t(t),_variant_t((IDispatch*)m_pConn,true),adOpenDynamic,adLockOptimistic,adCmdUnknown);
while(!m_pRs->adoEOF)
{
CString m_s1 = _com_util::ConvertBSTRToString((_bstr_t)m_pRs->GetCollect("reporttime"));
MessageBox(m_s1); m_pRs->MoveNext();
} m_pRs->Close();
m_pConn->Close(); m_pRs=NULL;
m_pConn=NULL;
CoUninitialize();
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
插入数据也没区别。都一样。用insert into 即可。
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2。app文件的InitInstance中加入
if(S_OK!=OleInitialize(NULL))
{
AfxMessageBox("初始化COM组件库错误");
}
下面就是数据库操作
_ConnectionPtr pConn;
_RecordsetPtr pRs;
CString strSQL;
pConn.CreateInstance(__uuidof(Connection));
pConn->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB;Server=远端IP;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
pConn->Open(_bstr_t(strSQL),"","",-1);
pRs.CreateInstance(__uuidof(Recordset));
pRs->CursorLocation=adUseClient;
pRs->PutActiveConnection(pConn.GetInterfacePtr());
pRs1.CreateInstance(__uuidof(Recordset));
pRs1->CursorLocation=adUseClient;
pRs1->PutActiveConnection(pConn.GetInterfacePtr()); strSQL="insert into tablename values(field1,field2.....)";
pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);