创建了一个数据库,在MFC中连接并写入数据,运行时出现未经处理的异常

具体代码:HRESULThr;try{hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connectio... 具体代码:
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if (SUCCEEDED(hr))
{
// hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = test.mdb","","",adModeUnknown);///连接数据库
//上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,
//需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
_bstr_t strSQL = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=jww930517;Initial Catalog=串口;Data Source=JIANGWEIWEI";//连接SQL2005数据库,注意、Server=ZLQ-PC\\SQLEXPRESS泉水叮咚中是两个\\,即使你的数据库服务器只有一个\,也要再加上1个,否者会连接不成功
hr = m_pConnection->Open(strSQL, "sa", "jww930517", adModeUnknown);

}
}
catch (_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format(_T("连接数据库失败!\r\n错误信息:%s"), e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
variant_t RecordsAffected;
///执行SQL命令:CREATE TABLE创建表格users,users包含四个字段:整形ID,字符串username,整形old,日期型birthday
m_pConnection->Execute("CREATE TABLE users(ID INTEGER,username TEXT, old INTEGER, birthday DATETIME)",&RecordsAffected,adCmdText);
///往表格里面添加记录
m_pConnection->Execute("INSERT INTO users(ID,username,old,birthday) VALUES(1, 'Washington', 25, '1970/1/1')",&RecordsAffected,adCmdText);
m_pConnection->Execute("UPDATE users SET old = old+1", &RecordsAffected, adCmdText);
///执行SQL统计命令得到包含记录条数的记录集
m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRecordset->GetCollect(vIndex);///取得第一个字段的值放入vCount变量
m_pRecordset->Close();///关闭记录集
CString message;
message.Format(_T("共有%d条记录"), vCount.lVal);
AfxMessageBox(message);///显示当前记录条数
其实这个代码也是弄的网上的,不知道对不对,如果有大神有现成的还望能发我一份参考
展开
 我来答
键盘未找到
2015-08-15 · TA获得超过328个赞
知道小有建树答主
回答量:403
采纳率:100%
帮助的人:266万
展开全部
  1. 建议你先在控制台程序中测试你的数据库访问代码,运行无误后,再将这些代码(一般是以类的形式封装起来)加入到你的MFC程序中。

  2. 如果你对C++使用ADO访问数据库的操作不是很熟悉,可以参考我的一个实现(在你的知道私信里)。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式