以下代码,为什么不能够执行"delete from table1"这样简单的SQL语句的操作,请高手指点,因为找了比较多的贴都没有具本说到是什么原因。
Environment *env;
Connection *conn;
Statement *stmt;/////连接
char struser[]="system";
char strpwd[]="123qwe";
char strconn_string[]="192.168.20.215:1521/myorcl";
env = Environment::createEnvironment(Environment::OBJECT);
conn = env->createConnection(struser, strpwd, strconn_string);
if( NULL != conn )
printf("conn success\r\n");
else
printf("conn fail\r\n");char strsql[]="DELETE FROM BKWX_SP.ZGDX_SMS_MT_OPER ";
stmt = conn->createStatement();
stmt->setSQL(strsql);
int count=stmt->executeUpdate();
conn->commit();
conn->terminateStatement(stmt);
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
return 0;
查询,修改和插入的操作都可以,就单单delete 操作不行,真是急死人了,请指教一下
Environment *env;
Connection *conn;
Statement *stmt;/////连接
char struser[]="system";
char strpwd[]="123qwe";
char strconn_string[]="192.168.20.215:1521/myorcl";
env = Environment::createEnvironment(Environment::OBJECT);
conn = env->createConnection(struser, strpwd, strconn_string);
if( NULL != conn )
printf("conn success\r\n");
else
printf("conn fail\r\n");char strsql[]="DELETE FROM BKWX_SP.ZGDX_SMS_MT_OPER ";
stmt = conn->createStatement();
stmt->setSQL(strsql);
int count=stmt->executeUpdate();
conn->commit();
conn->terminateStatement(stmt);
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
return 0;
查询,修改和插入的操作都可以,就单单delete 操作不行,真是急死人了,请指教一下
查查数据表的主键,外键设置,是不是有关联的数据要删除
DELETE FROM BKWX_SP.ZGDX_SMS_MT_OPER constraints
首先明确你的问题所在,你不能删除,是否捕捉到数据库给你的异常信息、。?
看你的代码好像连异常都没有捕捉,
贴出你捕捉到的ORACLE信息就可以比较清晰的定位问题所在了猜想情况:外键,无权限删除,数据库锁,触发器等
或者你直接在sqlplus里面删除该表看提示什么?否则谁也帮不了你。