vs20003使用ADO连接ACCESS数据库 不能插入值 可以读出表中的值 但是插不进去
int index;
index=((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();
((CComboBox*)GetDlgItem(IDC_COMBO1))->GetLBText(index,str_Name);//---取得combobox、的值 ::CoInitialize(NULL);
HRESULT hr;
try
{
hr=m_pConnection1.CreateInstance(__uuidof(Connection));///创建Connection对象 m_pRecordset1.CreateInstance(__uuidof(Recordset));//--创建Recordset对象的实例 if(SUCCEEDED(hr))
{
hr = m_pConnection1->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PLSS.mdb","","",adConnectUnspecified);///连接数据库
m_pRecordset1->Open(_T("SELECT * FROM ShapeLayer"),_variant_t((IDispatch *)m_pConnection1,true),adOpenDynamic,adLockOptimistic,adCmdText);
if(!m_pRecordset1->adoEOF)
m_pRecordset1->MoveLast();
m_pRecordset1->AddNew();
m_pRecordset1->PutCollect(_variant_t("LayerID"),_variant_t((long)1));
m_pRecordset1->PutCollect(_variant_t("Name"),_variant_t(m_name));
m_pRecordset1->PutCollect(_variant_t("Type"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("TableName"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("TextField"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("XMin"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("XMax"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("YMin"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("YMax"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("GridSize"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("VisibleThreshold"),_variant_t("r"));
//m_pRecordset->GetFields()->GetItem("Name")->AppendChunk(_variant_t(m_name));
AfxMessageBox("asd"); }
}
catch(_com_error e)///捕捉异常
{ CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息 }
//---关闭记录集
m_pRecordset1->Update();
m_pRecordset1->Close();
m_pConnection1->Close(); m_pRecordset1.Release();
m_pConnection1.Release();
m_pConnection1=NULL;
::CoUninitialize(); UpdateData(false);提示我连接数据库错误 IDispatch error #3081
哪里错误啊 指点啊 要不就是
int index;
index=((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();
((CComboBox*)GetDlgItem(IDC_COMBO1))->GetLBText(index,str_Name);//---取得combobox、的值 ::CoInitialize(NULL);
HRESULT hr;
try
{
hr=m_pConnection1.CreateInstance(__uuidof(Connection));///创建Connection对象 m_pRecordset1.CreateInstance(__uuidof(Recordset));//--创建Recordset对象的实例 if(SUCCEEDED(hr))
{
hr = m_pConnection1->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PLSS.mdb","","",adConnectUnspecified);///连接数据库
m_pRecordset1->Open(_T("SELECT * FROM ShapeLayer"),_variant_t((IDispatch *)m_pConnection1,true),adOpenDynamic,adLockOptimistic,adCmdText);
if(!m_pRecordset1->adoEOF)
m_pRecordset1->MoveLast();
m_pRecordset1->AddNew();
m_pRecordset1->PutCollect(_variant_t("LayerID"),_variant_t((long)1));
m_pRecordset1->PutCollect(_variant_t("Name"),_variant_t(m_name));
m_pRecordset1->PutCollect(_variant_t("Type"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("TableName"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("TextField"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("XMin"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("XMax"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("YMin"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("YMax"),_variant_t(long(213)));
m_pRecordset1->PutCollect(_variant_t("GridSize"),_variant_t("r"));
m_pRecordset1->PutCollect(_variant_t("VisibleThreshold"),_variant_t("r"));
//m_pRecordset->GetFields()->GetItem("Name")->AppendChunk(_variant_t(m_name));
AfxMessageBox("asd"); }
}
catch(_com_error e)///捕捉异常
{ CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息 }
//---关闭记录集
m_pRecordset1->Update();
m_pRecordset1->Close();
m_pConnection1->Close(); m_pRecordset1.Release();
m_pConnection1.Release();
m_pConnection1=NULL;
::CoUninitialize(); UpdateData(false);提示我连接数据库错误 IDispatch error #3081
哪里错误啊 指点啊 要不就是
解决方案 »
- 通过HTTP 头分析访问的url?
- 如何让MFC对话框类在命令行调用时也能返回一个结构体给调用者?
- 求人制作一个界面(报酬丰厚)
- 请问哪有使Edit的滚动条变为彩色的类或者方法,谢谢!
- !!!300分《《《关于WaitForDebugEvent急,帮忙up也有分》》》!!!
- 一个简单的广播问题救人!!!!!!!
- 在线等待,立即给分!!!如何改变按钮的文本内容?如何使一个非模态窗口变为模态窗口?如何在已有的对话框基础上创建一个模态窗口?如何
- c++ primer哪里有免费的电子书下载,帮上忙的都有分,100分相送。
- 在win2000下如何对串口进行读写?安全描述符是一个什么概念?
- MFC 如何使首次启动的软件的工具栏按一定顺序位置排列,而不是乱七八糟的。
- 新手求助啊!!!求助一段源代码!!
- 编写的程序运行时长时间没有反应
m_pRecordset1->Open(_T("SELECT * FROM ShapeLayer"),_variant_t((IDispatch *)m_pConnection1,true),adOpenDynamic,adLockOptimistic,adCmdText);->m_pRecordset1->Open("SELECT * FROM ShapeLayer",theApp.m_pConnection1.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
http://download.csdn.net/source/2848883
//->
errormessage.Format("连接数据库失败!\r\n错误信息:%s",(LPCTSTR)e.Description());
m_pRecordset1->Open((_bstr_t)strCreateT,_variant_t((IDispatch *)m_pConnection1,true),adOpenDynamic,adLockOptimistic,adCmdText);然后直接插值
if(!m_pRecordset1->adoEOF)
m_pRecordset1->MoveLast();
m_pRecordset1->AddNew();
m_pRecordset1->PutCollect(_variant_t("OBJECTID"),_variant_t(m_ID));
m_pRecordset1->PutCollect(_variant_t("Name"),_variant_t(m_name));
有错误 不对
m_pConnection1->Excute(strCreateT, NULL, NULL, adCmdText);
m_pRecordset1->Open(_T("select OBJECTID, Name from [Table]"),_variant_t((IDispatch *)m_pConnection1,true),adOpenDynamic,adLockOptimistic,adCmdText);