往数据库添加记录问题
我写了一个程序,视图是继承自CFormView,连接数据库,代码如下:
先在stdafx.h文件中加上#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
接着在CMyApp中定义一个成员变量
// 定义ADO连接变量指针
_ConnectionPtr m_pConnection;
在BOOL CMyApp::InitInstance()函数中添加下列代码:
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
再在视图的按钮控件的点击事件里添加代码如下:
if(SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection) )))
{
m_pConnection->CursorLocation=adUseClient; //游标类型
}
try
{
// 打开本地Access库Demo.mdb
m_pConnection->Open(“。。。”,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库是否在当前路径下!");
}
视图上还放置着一些编辑框。
当点击视图中另一个按钮时,把编辑框里内容提交到打开的数据库中某表的最后面。代码如下;
void CMyView::Onqd()
{
UpdateData(TRUE);
if(""==m_xb)
{
AfxMessageBox("标题不能为空");
return;
}
if(m_xl!=0&&m_xl!=1&&m_xl!=2)
{
AfxMessageBox("内容不能为空");
return;
}
CString strTemp,m_bt;
GetDlgItem(IDC_EDIT1)->GetWindowText(m_bt);
GetDlgItem(IDC_COMBO1)->GetWindowText(strTemp);
CString str1;
str1.Format("insert into wz (title,class,) values('%s','%s')",m_bt,strTemp);
m_pConnection->Execute((_bstr_t)str1,NULL,adCmdText);
}
现在是点击一次该按钮,生成一条新的数据库记录。可我现在希望的是点击一次按钮生成一条新的数据库记录后,可以对编辑框里内容进行修改,再点击该按钮,是把刚生成的数据库记录修改一下。请大家指教一下