在 Recordset ADO 中找不到记录
Can not find record in Recordset ADO
我在 C++ 中使用 ADO,我在 Recordset.I 中找到特定记录时遇到了问题,写了连接到数据库,Recordset.Open 等等...所以一切顺利。我想查找的记录已存在于数据库中,但 Recordset->Find 方法无法在 Recordset 中找到该特定数据。你能看看我的代码并告诉我我哪里出错了吗?或者这是编写 Recordset->Find() 方法的正确语法 P.S 我是 ADO 的新手,所以我不知道这是否是正确的语法。提前谢谢你。
我已经尝试 return 通过 Fields->GetItem 进行记录并且它有效。它 returns "nikala".(如果它确实重要的话。)所以这意味着 Recordset 正在打开。
_bstr_t AccReturn = pRecst->Fields->GetItem("Account")->Value;
我的代码:
pRecst->MoveFirst();
bool found = pRecst->Find("[Account] = 'nikala'", 0, adSearchForward);
if(found == true)
{
//update code
}
else
{
//insert into DB
}
示例如下:
打开光标
pRecst->打开("SELECT * FROM TABLE",
_variant_t((IDispatch *)pConnection),
adOpenStatic、adLockReadOnly、adCmdText);
pRecst->MoveFirst();
pRecst->Find("Account = 'nikala'", 0, adSearchForward);
检查记录是否存在 EndOfFile 属性:
bool found = !pRecst->EndOfFile;
我在 C++ 中使用 ADO,我在 Recordset.I 中找到特定记录时遇到了问题,写了连接到数据库,Recordset.Open 等等...所以一切顺利。我想查找的记录已存在于数据库中,但 Recordset->Find 方法无法在 Recordset 中找到该特定数据。你能看看我的代码并告诉我我哪里出错了吗?或者这是编写 Recordset->Find() 方法的正确语法 P.S 我是 ADO 的新手,所以我不知道这是否是正确的语法。提前谢谢你。
我已经尝试 return 通过 Fields->GetItem 进行记录并且它有效。它 returns "nikala".(如果它确实重要的话。)所以这意味着 Recordset 正在打开。
_bstr_t AccReturn = pRecst->Fields->GetItem("Account")->Value;
我的代码:
pRecst->MoveFirst();
bool found = pRecst->Find("[Account] = 'nikala'", 0, adSearchForward);
if(found == true)
{
//update code
}
else
{
//insert into DB
}
示例如下:
打开光标
pRecst->打开("SELECT * FROM TABLE", _variant_t((IDispatch *)pConnection),
adOpenStatic、adLockReadOnly、adCmdText);pRecst->MoveFirst();
pRecst->Find("Account = 'nikala'", 0, adSearchForward);
检查记录是否存在 EndOfFile 属性:
bool found = !pRecst->EndOfFile;