10 个解决方案
#1
兄台,请勿发蛋贴
#2
刚上论坛 没分。。。
#3
帖子已加分 已经连上数据库了
需要用Command还是Recordset 实现SQL语句啊 要连2个数据库 在2个地址都新建了2个字段名一样的表 想表和表之间的插入 请高手指教。。。
需要用Command还是Recordset 实现SQL语句啊 要连2个数据库 在2个地址都新建了2个字段名一样的表 想表和表之间的插入 请高手指教。。。
#4
两个Connection,两个RecordSet,足够,一个RS GetCollect,取到值后给另外一个PutCollect
#5
高手能不能具体点啊。。。
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection)); //创建connection实例
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(L"provider=OraOLEDB.Oracle.1;User ID=123;Password=123;Data source=192.168.1.1;Persist security info=False"),L"",L"",adModeUnknown);
//m_pConnection->ConnectionTimeout = 10; ///设置超时时间为10秒
if(SUCCEEDED(hr))
{
m_isConnectionopen = TRUE;
return TRUE;
}
}
}
catch(_com_error &e) //捕捉异常
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
TRACE("Exception thrown for classes generated by #import");
TRACE("\tCode=%081x \n",e.Error());
TRACE("\tCode meaning=%s \n",e.ErrorMessage());
TRACE("\tSource=%s \n",(LPCTSTR) bstrSource);
TRACE("\tDescription=%s \n",(LPCTSTR)bstrDescription);
return FALSE;
}
return FALSE;
}
这是我的连接代码 可命令怎么写啊。。。
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection)); //创建connection实例
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(L"provider=OraOLEDB.Oracle.1;User ID=123;Password=123;Data source=192.168.1.1;Persist security info=False"),L"",L"",adModeUnknown);
//m_pConnection->ConnectionTimeout = 10; ///设置超时时间为10秒
if(SUCCEEDED(hr))
{
m_isConnectionopen = TRUE;
return TRUE;
}
}
}
catch(_com_error &e) //捕捉异常
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
TRACE("Exception thrown for classes generated by #import");
TRACE("\tCode=%081x \n",e.Error());
TRACE("\tCode meaning=%s \n",e.ErrorMessage());
TRACE("\tSource=%s \n",(LPCTSTR) bstrSource);
TRACE("\tDescription=%s \n",(LPCTSTR)bstrDescription);
return FALSE;
}
return FALSE;
}
这是我的连接代码 可命令怎么写啊。。。
#6
是两个不同数据库的传输。。。我比较菜 请高手指教
#7
_RecordsetPtr m_pRecordset;
CString strSql="select * from middle";//这里放自己的SQL语句
BSTR bstrSQL = strSql.AllocSysString();
m_pRecordset->Open(bstrSQL,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
这样就能获得RecordSet对象了
RS对象不是有很多方法的嘛
while(!m_pRecordset->adoEOF)//遍历所有记录
{
//取纪录字段值方式之一
_variant_t TheValue; //VARIANT数据类型
TheValue = m_pRecordset->GetCollect("BIG_NAME");//得到字段BIG_NAME的值
if(TheValue.vt!=VT_NULL)
m_List.AddString((char*)_bstr_t(TheValue));
//将该值加入到列表控件中
//取纪录字段值方式之二
// _bstr_t TheValue1=m_pRecordset->Fields->GetItem("BIG_NAME")->Value;
// CString temp=TheValue1.copy();
// m_List.AddString(temp);
//数据类型转换
_variant_t vUsername,vBirthday,vID,vOld;
TRACE("id:%d,姓名:%s,年龄:%d,生日:%s\r\n",
vID.lVal,(LPCTSTR)(_bstr_t)vUsername,vOld.lVal,(LPCTSTR)(_bstr_t)vBirthday);
m_pRecordset->MoveNext();//转到下一条纪录
}
得到数据用GetCollect,写用PutCollect
#8
一个库用一个Connection和一个RecordSet
另外一个一样,都取各自那个表
然后一个RS GetCollect 取出值后 让另外一个RS PutCollect进去
#9
...我说过 这句话有效吧!!!
#10
呵呵 相当有效。。。 还有一个问题 如果实行数据库和数据库直接的连接 从一个表写到另外一个表(表和表的字段都一样) 不做修改 能不能表和表直接插入 怎么插入啊
#1
兄台,请勿发蛋贴
#2
刚上论坛 没分。。。
#3
帖子已加分 已经连上数据库了
需要用Command还是Recordset 实现SQL语句啊 要连2个数据库 在2个地址都新建了2个字段名一样的表 想表和表之间的插入 请高手指教。。。
需要用Command还是Recordset 实现SQL语句啊 要连2个数据库 在2个地址都新建了2个字段名一样的表 想表和表之间的插入 请高手指教。。。
#4
两个Connection,两个RecordSet,足够,一个RS GetCollect,取到值后给另外一个PutCollect
#5
高手能不能具体点啊。。。
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection)); //创建connection实例
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(L"provider=OraOLEDB.Oracle.1;User ID=123;Password=123;Data source=192.168.1.1;Persist security info=False"),L"",L"",adModeUnknown);
//m_pConnection->ConnectionTimeout = 10; ///设置超时时间为10秒
if(SUCCEEDED(hr))
{
m_isConnectionopen = TRUE;
return TRUE;
}
}
}
catch(_com_error &e) //捕捉异常
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
TRACE("Exception thrown for classes generated by #import");
TRACE("\tCode=%081x \n",e.Error());
TRACE("\tCode meaning=%s \n",e.ErrorMessage());
TRACE("\tSource=%s \n",(LPCTSTR) bstrSource);
TRACE("\tDescription=%s \n",(LPCTSTR)bstrDescription);
return FALSE;
}
return FALSE;
}
这是我的连接代码 可命令怎么写啊。。。
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection)); //创建connection实例
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(L"provider=OraOLEDB.Oracle.1;User ID=123;Password=123;Data source=192.168.1.1;Persist security info=False"),L"",L"",adModeUnknown);
//m_pConnection->ConnectionTimeout = 10; ///设置超时时间为10秒
if(SUCCEEDED(hr))
{
m_isConnectionopen = TRUE;
return TRUE;
}
}
}
catch(_com_error &e) //捕捉异常
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
TRACE("Exception thrown for classes generated by #import");
TRACE("\tCode=%081x \n",e.Error());
TRACE("\tCode meaning=%s \n",e.ErrorMessage());
TRACE("\tSource=%s \n",(LPCTSTR) bstrSource);
TRACE("\tDescription=%s \n",(LPCTSTR)bstrDescription);
return FALSE;
}
return FALSE;
}
这是我的连接代码 可命令怎么写啊。。。
#6
是两个不同数据库的传输。。。我比较菜 请高手指教
#7
_RecordsetPtr m_pRecordset;
CString strSql="select * from middle";//这里放自己的SQL语句
BSTR bstrSQL = strSql.AllocSysString();
m_pRecordset->Open(bstrSQL,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
这样就能获得RecordSet对象了
RS对象不是有很多方法的嘛
while(!m_pRecordset->adoEOF)//遍历所有记录
{
//取纪录字段值方式之一
_variant_t TheValue; //VARIANT数据类型
TheValue = m_pRecordset->GetCollect("BIG_NAME");//得到字段BIG_NAME的值
if(TheValue.vt!=VT_NULL)
m_List.AddString((char*)_bstr_t(TheValue));
//将该值加入到列表控件中
//取纪录字段值方式之二
// _bstr_t TheValue1=m_pRecordset->Fields->GetItem("BIG_NAME")->Value;
// CString temp=TheValue1.copy();
// m_List.AddString(temp);
//数据类型转换
_variant_t vUsername,vBirthday,vID,vOld;
TRACE("id:%d,姓名:%s,年龄:%d,生日:%s\r\n",
vID.lVal,(LPCTSTR)(_bstr_t)vUsername,vOld.lVal,(LPCTSTR)(_bstr_t)vBirthday);
m_pRecordset->MoveNext();//转到下一条纪录
}
得到数据用GetCollect,写用PutCollect
#8
一个库用一个Connection和一个RecordSet
另外一个一样,都取各自那个表
然后一个RS GetCollect 取出值后 让另外一个RS PutCollect进去
#9
...我说过 这句话有效吧!!!
#10
呵呵 相当有效。。。 还有一个问题 如果实行数据库和数据库直接的连接 从一个表写到另外一个表(表和表的字段都一样) 不做修改 能不能表和表直接插入 怎么插入啊