vc ado编程数据库操作疑问
大家好我看书时看见一条sql插入语句在一个函数这么写void CShangpindlg::OnButadd()
{
CString sql;
sql.Format("insert into tb_phone(name,age,phone_no) values('%s','%s','%s')",m_name,m_age,m_phoneNo);
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn(); //打开连接数据库
m_AdoConn.ExecuteSQL((_bstr_t)sql); //执行插入语句
m_AdoConn.ExitConnect(); //关闭数据库连接
}
心里一直有一个疑问 如果程序执行这条sql语句之后程序突然异常关闭或者机器断电了 程序再重新启动(因为用户根本不知道他所添加的用户信息到底有没有存入数据库中 用户可能会在去执行添加信息的操作)而程序再次运行到这句sql语句的时候 数据库里面的数据可能已经添加了或没有被添加 这样会出现一种不确定性
【该怎样解决这样的问题 程序想向数据库中插入一条信息 如果程序异常关闭保证数据库没有任何影响还是原来没插入这条信息时的状态 如果程序正常运行数据库保证这条信息已经被正确的插入数据库中了】