用SQL addnew语句对数据表添加记录发生错误

用SQL addnew语句对数据表添加记录发生错误,第1张

就是用SELECT * FROM ..也可以,直接改为

select top 1 * from 。。。就行了,之后你ADDNEW就可以了

如果你插入的数据有BLOB类型的,即大二进制类型只能这种方法,否则可以

直接使用INSERT into 表名 (字段名列表) values(值列表)

_RecordsetPtr m_pRecordset

m_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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11556997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存