我想通过一个软件来修改数据库中的一条记录,但是每次一修改就崩溃,我不知道是哪里的问题,刚刚开始做数据库方面的东西。查看和删除还有添加都没事,但是只要一修改某条记录就崩溃了,大家帮我看看,谢谢了,代码如下 BOOL IsUpdata = FALSE;
//先从表里找到符和用户输入的工号或者姓名一样的记录
CString strOldId,strOldName;
for( int i=0; i<m_Record.GetItemCount(); i++ )
{
if( ( m_strId == m_Record.GetItemText( i, 0 ) )||( m_strName == m_Record.GetItemText( i, 1 ) ) )
{
IsUpdata = TRUE;
m_strOldId = m_Record.GetItemText( i, 0 );
m_strOldName = m_Record.GetItemText( i, 1 );
break;
}
}
//修改数据库中的数据
if( IsUpdata )
{
DataTable="PERSON";
CString strSQLUpdata;
_variant_t RecordAffected;
strSQLUpdata.Format( "Update %s Set 工号='%s',姓名='%s',性别='%s',时间='%s,职务='%s Where 工号='%s' AND 姓名='%s'",
DataTable,m_strId,m_strName,m_strSex,m_strTime,m_strWork,m_strOldId,m_strOldName );
BSTR bstrSQL = strSQLUpdata.AllocSysString();
m_connection->Execute( _bstr_t( bstrSQL ), &RecordAffected, adCmdText );
}
//先从表里找到符和用户输入的工号或者姓名一样的记录
CString strOldId,strOldName;
for( int i=0; i<m_Record.GetItemCount(); i++ )
{
if( ( m_strId == m_Record.GetItemText( i, 0 ) )||( m_strName == m_Record.GetItemText( i, 1 ) ) )
{
IsUpdata = TRUE;
m_strOldId = m_Record.GetItemText( i, 0 );
m_strOldName = m_Record.GetItemText( i, 1 );
break;
}
}
//修改数据库中的数据
if( IsUpdata )
{
DataTable="PERSON";
CString strSQLUpdata;
_variant_t RecordAffected;
strSQLUpdata.Format( "Update %s Set 工号='%s',姓名='%s',性别='%s',时间='%s,职务='%s Where 工号='%s' AND 姓名='%s'",
DataTable,m_strId,m_strName,m_strSex,m_strTime,m_strWork,m_strOldId,m_strOldName );
BSTR bstrSQL = strSQLUpdata.AllocSysString();
m_connection->Execute( _bstr_t( bstrSQL ), &RecordAffected, adCmdText );
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货