请问进行数据库操作的时候有没有可能出现-1的情况?
23 个解决方案
#1
应该是-1,用其它语言操作数据库时如果执行失败返回值都是-1
#2
不是很明白上面的意思,操作数据库时如果执行失败应该是抛出异常把,还会有-1返回吗?
#3
不知道你用的什么语言,我用的PB,
如果执行失败sqlca.sqlcode = - 1
sqlca.sqlerrtext里面是错误信息。
如果执行失败sqlca.sqlcode = - 1
sqlca.sqlerrtext里面是错误信息。
#4
如果碰到id不存在的情况,执行删除返回的结果是0还是-1?
#5
可能跟语言有关,执行失败是-1
#6
我到现在还不明白你说的执行失败具体是什么含义,是sql语句没有被执行还是咋的?
如果id不存在的情况,sql语句至少是执行了,只是影响的记录为0啊
在java中,如果执行失败会抛出异常的
如果id不存在的情况,sql语句至少是执行了,只是影响的记录为0啊
在java中,如果执行失败会抛出异常的
#7
是语句执行了,但是没有成功。
你用Java的异常处理机制处理不就可以了,抛出异常后检查包含的错误信息。
你用Java的异常处理机制处理不就可以了,抛出异常后检查包含的错误信息。
#8
我明白你的意思了,是抛出的异常里面包含-1,表示删除不成功,对吧,
#9
是呀
#10
你有没有碰到用sql语句删除一个id不存在的记录会抱错的情况的,我没有碰到过
我也不知道你懂不懂java,但是这个原理还是差不多的,你看看下面这个程序
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = 0;
}
conn.close();
return ret;
}
你认为执行这段程序可能会出现那些结果呢?
Goods是一个自定义的商品类。
我也不知道你懂不懂java,但是这个原理还是差不多的,你看看下面这个程序
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = 0;
}
conn.close();
return ret;
}
你认为执行这段程序可能会出现那些结果呢?
Goods是一个自定义的商品类。
#11
"Delete from tb_goods where ID=" + g.getID();
---------------
ID是什么类型,如果是字符型的话,其两端需要加引号:
"Delete from tb_goods where ID=\"" + g.getID() + "\"";
---------------
ID是什么类型,如果是字符型的话,其两端需要加引号:
"Delete from tb_goods where ID=\"" + g.getID() + "\"";
#12
记不清转义字符是不是这样用的了。
#13
ID是int型的,主键,你就假设这个sql 语句符合语法规则,分析它执行会出现什么样的情况?
#14
如果ID的只不存在的话不应该出错,你看一下e包含的错误信息。
catch(Exception e){
e.printStackTrace();
ret = 0;
}
catch(Exception e){
e.printStackTrace();
ret = 0;
}
#15
一条正常的sql语句,在执行ret = conn.executeUpdate(sql);这条语句时可能会出现什么情况(假设我也不知道这个sql语句是否会执行异常,但是sql语句是符合语法规则的)?
#16
如果语法正确并且数据库已连接的话,如果删除的数据的主键被其他表引用,有可能删除失败。
#17
你先在查询分析器里面执行看看到底是哪儿的问题。
#18
恩,对
那上面那段程序ret = conn.executeUpdate(sql);如果异常发生ret应该是为-1值,但是在整个函数来说,ret不可能有-1值返回,你看呢?
那上面那段程序ret = conn.executeUpdate(sql);如果异常发生ret应该是为-1值,但是在整个函数来说,ret不可能有-1值返回,你看呢?
#19
那是函数处理的结果,你可以改为在发生异常时返回-1
如:
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = - 1;
}
conn.close();
return ret;
}
如:
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = - 1;
}
conn.close();
return ret;
}
#20
对,我的看法和你差不多,不过我一个朋友和我说如果删除的记录不存在的话返回值就是-1我就觉得不可思议了,所以跑上来找高人问了,呵呵
#21
你在try里String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
#22
有没有人知道下面一题的解法
用4个一位全加器组成一个先行进位的4位加法运算器,逻辑进位如下:
Ci+1=Xi+YiCi-1
Ci+1为进位输出,Xi是本地进位,Yi是传递进位Ci-1表示低一级的进位,要推导出4个先行
进位的逻辑表达式,说明其原理,并画出逻辑电路图
用4个一位全加器组成一个先行进位的4位加法运算器,逻辑进位如下:
Ci+1=Xi+YiCi-1
Ci+1为进位输出,Xi是本地进位,Yi是传递进位Ci-1表示低一级的进位,要推导出4个先行
进位的逻辑表达式,说明其原理,并画出逻辑电路图
#23
mzh143() :
你在try里String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
------------------------------------
你的条件是真是什么情况?为什么会执行ret = -1;?
你在try里String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
------------------------------------
你的条件是真是什么情况?为什么会执行ret = -1;?
#1
应该是-1,用其它语言操作数据库时如果执行失败返回值都是-1
#2
不是很明白上面的意思,操作数据库时如果执行失败应该是抛出异常把,还会有-1返回吗?
#3
不知道你用的什么语言,我用的PB,
如果执行失败sqlca.sqlcode = - 1
sqlca.sqlerrtext里面是错误信息。
如果执行失败sqlca.sqlcode = - 1
sqlca.sqlerrtext里面是错误信息。
#4
如果碰到id不存在的情况,执行删除返回的结果是0还是-1?
#5
可能跟语言有关,执行失败是-1
#6
我到现在还不明白你说的执行失败具体是什么含义,是sql语句没有被执行还是咋的?
如果id不存在的情况,sql语句至少是执行了,只是影响的记录为0啊
在java中,如果执行失败会抛出异常的
如果id不存在的情况,sql语句至少是执行了,只是影响的记录为0啊
在java中,如果执行失败会抛出异常的
#7
是语句执行了,但是没有成功。
你用Java的异常处理机制处理不就可以了,抛出异常后检查包含的错误信息。
你用Java的异常处理机制处理不就可以了,抛出异常后检查包含的错误信息。
#8
我明白你的意思了,是抛出的异常里面包含-1,表示删除不成功,对吧,
#9
是呀
#10
你有没有碰到用sql语句删除一个id不存在的记录会抱错的情况的,我没有碰到过
我也不知道你懂不懂java,但是这个原理还是差不多的,你看看下面这个程序
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = 0;
}
conn.close();
return ret;
}
你认为执行这段程序可能会出现那些结果呢?
Goods是一个自定义的商品类。
我也不知道你懂不懂java,但是这个原理还是差不多的,你看看下面这个程序
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = 0;
}
conn.close();
return ret;
}
你认为执行这段程序可能会出现那些结果呢?
Goods是一个自定义的商品类。
#11
"Delete from tb_goods where ID=" + g.getID();
---------------
ID是什么类型,如果是字符型的话,其两端需要加引号:
"Delete from tb_goods where ID=\"" + g.getID() + "\"";
---------------
ID是什么类型,如果是字符型的话,其两端需要加引号:
"Delete from tb_goods where ID=\"" + g.getID() + "\"";
#12
记不清转义字符是不是这样用的了。
#13
ID是int型的,主键,你就假设这个sql 语句符合语法规则,分析它执行会出现什么样的情况?
#14
如果ID的只不存在的话不应该出错,你看一下e包含的错误信息。
catch(Exception e){
e.printStackTrace();
ret = 0;
}
catch(Exception e){
e.printStackTrace();
ret = 0;
}
#15
一条正常的sql语句,在执行ret = conn.executeUpdate(sql);这条语句时可能会出现什么情况(假设我也不知道这个sql语句是否会执行异常,但是sql语句是符合语法规则的)?
#16
如果语法正确并且数据库已连接的话,如果删除的数据的主键被其他表引用,有可能删除失败。
#17
你先在查询分析器里面执行看看到底是哪儿的问题。
#18
恩,对
那上面那段程序ret = conn.executeUpdate(sql);如果异常发生ret应该是为-1值,但是在整个函数来说,ret不可能有-1值返回,你看呢?
那上面那段程序ret = conn.executeUpdate(sql);如果异常发生ret应该是为-1值,但是在整个函数来说,ret不可能有-1值返回,你看呢?
#19
那是函数处理的结果,你可以改为在发生异常时返回-1
如:
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = - 1;
}
conn.close();
return ret;
}
如:
public int delete(Goods g) {
int ret = -1;
try {
String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);
}
catch (Exception e) {
ret = - 1;
}
conn.close();
return ret;
}
#20
对,我的看法和你差不多,不过我一个朋友和我说如果删除的记录不存在的话返回值就是-1我就觉得不可思议了,所以跑上来找高人问了,呵呵
#21
你在try里String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
#22
有没有人知道下面一题的解法
用4个一位全加器组成一个先行进位的4位加法运算器,逻辑进位如下:
Ci+1=Xi+YiCi-1
Ci+1为进位输出,Xi是本地进位,Yi是传递进位Ci-1表示低一级的进位,要推导出4个先行
进位的逻辑表达式,说明其原理,并画出逻辑电路图
用4个一位全加器组成一个先行进位的4位加法运算器,逻辑进位如下:
Ci+1=Xi+YiCi-1
Ci+1为进位输出,Xi是本地进位,Yi是传递进位Ci-1表示低一级的进位,要推导出4个先行
进位的逻辑表达式,说明其原理,并画出逻辑电路图
#23
mzh143() :
你在try里String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
------------------------------------
你的条件是真是什么情况?为什么会执行ret = -1;?
你在try里String sql = "Delete from tb_goods where ID=" + g.getID();
ret = conn.executeUpdate(sql);如果条件是真的。就运行 int ret = -1;这句。否则就运行catch那里面的(ret = 0;)
------------------------------------
你的条件是真是什么情况?为什么会执行ret = -1;?