我现在遇到一个问题,
kkparam()
{
server()//连接服务端数据库
kk_rn->Open(kk,scn.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);//kk为sql字符串
while(!kk_rn->EndOfFile)
{
kk_roadno = kk_rn->GetCollect ("roadno");
kk_ipaddress = kk_rn->GetCollect ("ipaddress");
SQLip = kk_ipaddress.bstrVal;
sqldb();//连接客户端数据库
talarm(kk_roadno.intVal);
kk_rn->MoveNext();
}
kk_rn->Close();
kk_rn.Release();
}
talarm(int road_no)
{
/*.......*/数据库打开所需表的语句
_variant_t tal_xinming;
while(!tal_rn->EndOfFile)
{
_variant_t tal_roadno = tal_rn->GetCollect ("roadno");
_variant_t tal_operkind = tal_rn->GetCollect ("operkind");
if ((tal_operkind.intVal == 0) && (tal_roadno.intVal == road_no))
{
tal_xinming = tal_rn->GetCollect ("xinming");
arm_rn->AddNew();
arm_rn->PutCollect("xinming",tal_xinming);
arm_rn->MoveNext();//程序运行到此处出错 提示Runtime Error abnormal program termination
tal_rn->MoveNext();
}
}
}
kkparam()
{
server()//连接服务端数据库
kk_rn->Open(kk,scn.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);//kk为sql字符串
while(!kk_rn->EndOfFile)
{
kk_roadno = kk_rn->GetCollect ("roadno");
kk_ipaddress = kk_rn->GetCollect ("ipaddress");
SQLip = kk_ipaddress.bstrVal;
sqldb();//连接客户端数据库
talarm(kk_roadno.intVal);
kk_rn->MoveNext();
}
kk_rn->Close();
kk_rn.Release();
}
talarm(int road_no)
{
/*.......*/数据库打开所需表的语句
_variant_t tal_xinming;
while(!tal_rn->EndOfFile)
{
_variant_t tal_roadno = tal_rn->GetCollect ("roadno");
_variant_t tal_operkind = tal_rn->GetCollect ("operkind");
if ((tal_operkind.intVal == 0) && (tal_roadno.intVal == road_no))
{
tal_xinming = tal_rn->GetCollect ("xinming");
arm_rn->AddNew();
arm_rn->PutCollect("xinming",tal_xinming);
arm_rn->MoveNext();//程序运行到此处出错 提示Runtime Error abnormal program termination
tal_rn->MoveNext();
}
}
}
catch 捕获一下错误
//arm_rn->MoveNext();//程序运行到此处出错 提示Runtime Error abnormal program termination
这句就是多余的,注释掉再试试看!
tal_rn->MoveNext();是操作服务端数据库表
注释掉一个 程序就死了 我只能插入一条数据 然后程序就没反应了
是不是指针越界的问题?
强行关闭程序后,检查数据库只有插入了1条数据,其他数据都没有插入,是什么原因啊?
还有个问题_variant_t类型如何转换成CString类型啊!!!
这样就可以了!
还有个问题,我如何更新数据库信息啊,
我用select查询到具体数据信息
但是我如何修改具体的数据值啊?
up_rn->PutCollect("nianleng",tal_nianling);
up_rn->PutCollect("xingbei",tal_xiebei);
.....
up_rn->update();
有的能更新,有的更新不了,怎么回事啊?
不是用update()成员函数...