select top 1 * from 。。。就行了,之后你ADDNEW就可以了
如果你插入的数据有BLOB类型的,即大二进制类型只能这种方法,否则可以
直接使用INSERT into 表名 (字段名列表) values(值列表)
_RecordsetPtr m_pRecordsetm_pRecordset.CreateInstance(__uuidof( Recordset ))//创建实例
//一定要打开
m_pRecordset->Open("SELECT * FROM study",m_pConnection.GetInterfacePtr
(),adOpenStatic,adLockOptimistic,adCmdText)// 执行SQL语句,得到记录集, m_pConnection必须已知数
try{
if (m_pRecordset!=NULL)//&&m_pRecordset->adoEOF)
{
m_pRecordset->AddNew()
m_pRecordset->PutCollect("username",_variant_t("小明"))
m_pRecordset->PutCollect("class",_variant_t((long)3))
m_pRecordset->PutCollect("sex",_variant_t("男"))
m_pRecordset->Update()///一定要保存到库中,不然无效
}
}catch(_com_error &e){
cout<<e.ErrorMessage()<<endl
}
如果是绑定的,根本不需要Data1.Recordset.Fields(0).Value = TxtID.Text 类似的语句。一般情况,只有文本框不与数据库绑定,才会用到类似的赋值语句。建议你再加一个 update 的按钮。
CmdAdd_Click的代码只需要一句:Data1.Recordset.AddNew
此时,当你点击CmdAdd后,6个文本框的内容都变成空了 。
再由用户在6个文本框中输入数据。
之后再点击update按钮,确定保存。
update_Click的代码只需要一句:Data1.Recordset.update
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)