- UID
- 70941
- 积分
- 361
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-8-8
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
前一个问题,你可能没有看懂是吧?
现在我把具体的目的写出来,大家给个建议也好———
使用ACCESS数据库,类型表class,(字段有index,class_name)
等级表grade,(字段有index,class_index,grade_name)
一种类型对应几种等级,如类型GPS对应等级的A,B,C
类型表的index和等级表class_index对应关系(索引)
即当GPS的index为1时,则A,B,C的class_name分别都为1
现在,我有LISTBOX显示class_name(GPS等),
当我选择GPS点击删除时,那么其对应的等级(A,B,C)也应该被删除
目前是,类型删除了,等级删除不了。调试很久了没有成功啊
(遇到sqlda.value[0]就退出程序了,修改程序光删除CLASS(GPS)能成功)
于是出现了如下代码:...(index ,class_index及定义的indexclass都为整型 )
if( num <= 0 )
{
mdlDialog_openMessageBox(DIALOGID_MsgBoxOK,"没有!",MSGBOX_ICON_CRITICAL);
break;
}
for( i = 0; i < num; i++)
sprintf(sql,"select index,class_name from class where class_name = '%s'",strClass);
if( mdlDB_openCursor(sql) != SUCCESS )
{ mdlDialog_openMessageBox(DIALOGID_MsgBoxOK,"CLASS数据库查询错 误!",MSGBOX_ICON_CRITICAL);
break;
}
mdlDB_fetchRow(&sqlda);
indexclass = atoi(sqlda.value[0]);
sprintf(sql,"delete from grade where class_index = %d",indexclass);
if( SUCCESS!=mdlDB_processSQL(sql)
{ mdlDialog_openMessageBox(DIALOGID_MsgBoxOK,"删除等级出现错误!",MSGBOX_ICON_CRITICAL);
erro = 1;
break;
}
mdlStringList_getMember(&strClass,NULL,strlistP,i);
sprintf(sql,"delete from class where class_name = '%s'",strClass);
if( SUCCESS!=mdlDB_processSQL(sql) )
{
sprintf(sql,"等级已经删除,但删除类型'%s'发生错误!",strClass); mdlDialog_openMessageBox(DIALOGID_MsgBoxOK,sql,MSGBOX_ICON_CRITICAL);
erro = 1;
}
mdlDB_freeSQLDADescriptor(&sqlda);
mdlDB_closeCursor(); |
|