问 ado调用记录集某字段update问题
我想更新已经取出来记录集中某字段
我的代码如下:
VARIANT Index;
Index.vt = VT_BOOL;
Index.lVal = FALSE;
Fld = Flds->GetItem("a");
Fld->put_Value(Index);
Flds->Update();
rst->Update(_variant_t((IDispatch *)Flds->GetItem("a"),true),Index);
在运行update的时候出现异常
请问我该怎么操作这个update,里面两个变量写法上该怎么写
//a为字段名
问题点数:0、回复次数:3Top
1 楼luh(不会游泳的鱼)回复于 2003-12-01 13:47:56 得分 0
如果a为字符形
我这样写能成功
Fld = Flds->GetItem("a");
Fld->value = L"aaa";
rst->Update(vtMissing,vtMissing);
但是布尔形,运行是成功的,但最后值没有更新成功是不是
Index.vt = VT_BOOL;
Index.lVal = FALSE;
Index赋值有问题?
Top
2 楼afxtian(DancingCodes)回复于 2004-02-01 21:32:59 得分 0
把rs->Open(sql,_variant_t((IDispatch *)conn,true),adOpenKeyset,adLockOptimistic,adCmdText);
变成:
rs->Open(sql,_variant_t((IDispatch *)conn,true),adOpenDynamic ,adLockOptimistic,adCmdText);
试试
Top
3 楼afxtian(DancingCodes)回复于 2004-02-01 21:33:56 得分 0
try{
_ConnectionPtr conn;
_RecordsetPtr rs;
conn.CreateInstance("ADODB.Connection");
rs.CreateInstance("ADODB.Recordset");
conn->Open("Driver={SQL Server};UID=sa;PWD=;server=127.0.0.1;database=TEMP","","",adModeUnknown);
_variant_t sql("select b_pub_date from bulletin where bulletin_sid=1683");
rs->Open(sql,_variant_t((IDispatch *)conn,true),adOpenDynamic,adLockOptimistic,adCmdText);
rs->MoveFirst();
_variant_t data("2003-12-29 11:11:11");
rs->GetFields()->GetItem("B_PUB_DATE")->Value=data;
rs->Update();
rs->Close();
rs.Release();
conn->Close();
conn.Release();
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}Top
相关问题
- VC调用ADO的问题?小弟请教如何得到返回记录集的第一(n)字段的值
- 老问题,怎样实现循环调用字段Name1,Name2,Name3.....读出整条记录。
- 怎样利用ADO修改记录中某一字段的值??
- (vc+ado+access)字段格式为“百分比”,怎么样往这个字段写记录?
- vc调用ado,能不能把各种字段的数据都按照字符串读出
- ADO怎样获取读取数据集的字段数,还有总记录数?
- 如何向表中添加字段为日期的记录(ADO+Access)?
- ADO中如何得到_RecordsetPtr所取得记录集的字段个数?
- ADO求字段名?
- 请问在调用SQL SERVER的用户存储过程时,得到的结果记录集只有字符型的字段值,而没有数字类型的字段值?




