Access数据库插入一条新记录,更新出现的问题,求大神解救!!!在线等
功能代码如下:
void UserRegister::OnRegister()
{
// TODO: Add your control notification handler code here
UpdateData(true);
int index=m_userkind.GetCurSel();
CDatabase _db;
CDatabase m_db;
SQLConfigDataSource(NULL,
ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb)",
"DSN=user\0" "DBQ=dbf\\user.mdb\0" "DEFAULTDIR=dbf\0"); //注册本地数据库数据源,
m_db.OpenEx("DSN=user",CDatabase::noOdbcDialog);//user是数据源名称
CoInitialize(NULL);
if(!_db.OpenEx("DSN=user", CDatabase::openReadOnly|CDatabase::noOdbcDialog))
{
MessageBox("连接数据库失败!");
return;
}
CRecordset recordset(&_db);
CString strSQL="select * from userinfo where username='"+m_username+"'";
while(1)
{
if(!recordset.Open(CRecordset::dynaset,strSQL))
{
MessageBox("打开数据库失败!");
return;
}
int num=recordset.GetRecordCount();
if(num!=0)
{
MessageBox("该用户已注册,请更改用户名!");
return;
}
else
{
MySet myset(&_db);
strSQL="select * from userinfo";
if(!myset.Open(CRecordset::dynaset,strSQL))
return;
//注册信息加入数据库信息表
myset.AddNew();
myset.SetFieldNull(NULL);
myset.m_username=m_username;
myset.m_userpassword=m_userpassword;
myset.m_level=(long)index+1;
myset.Update();//??????
MessageBox("****");
myset.Close();
}
}
recordset.Close();
UpdateData(false);
}