- UID
- 70941
- 积分
- 361
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-8-8
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
大家好,我编的程序有个问题,请大家看少了什么语句或错哪儿(NUM为所选的个数)
问题:在if(n>0) ...continue; 我的程序设计意图是在所选删除的元素中,
这个不能删除,则删除下一个,类推,重新循环FOR(),现在问题是当选中A,B,C
三个元素,如果A不满足删除条件,即使BC满足了也不能删除了,也就是前面的没有满足条件,则后面再满足也不能删除了,提示是‘查询point表出错!’(如果前面满足,而中间没有满足,则前面的删,中间以后的不能删了)
是什么地方没有初始化?没有关闭什么?等等,少了什么语句?
for( i = 0; i < num; i++)
{
mdlStringList_getMember(&strDistrict,NULL,strlistP,i); sprintf(sql,"select index from district where district_name = '%s'",strDistrict)
mdlDB_sqlQuery (strIndex, sql);
sprintf(sql,"select mslink,name,x,y,z,district_index from point where district_index = %s",strIndex);
if(mdlDB_openCursor(sql)!=SUCCESS)
{
mdlDialog_openInfoBox("查询point表出错!");
break;
}
else
{
while (mdlDB_fetchRow (&sqlda) != QUERY_FINISHED)
n++;
}
if(n>0)
{ sprintf(sql,"测区'%s'有控制点使用,无法删除,现已终止继续删除!",strDistrict);
mdlDialog_openMessageBox(DIALOGID_MsgBoxOK,sql,MSGBOX_ICON_CRITICAL);
continue;
}
sprintf(sql,"delete from district where district_name = '%s'",strDistrict);
if( SUCCESS!=mdlDB_processSQL(sql) )
{
sprintf(sql,"删除测区'%s'发生错误!",strDistrict);
mdlDialog_openMessageBox(DIALOGID_MsgBoxOK,sql,MSGBOX_ICON_CRITICAL);
}
}
mdlDB_closeCursor();
mdlDB_freeSQLDADescriptor (&sqlda); |
|