cmd.ExecuteNonQuery()总是返回为1 ,明明没有执行任何dml语句。 10

为什麼cmd.ExecuteNonQuery()总是返回为1,没有执行select,update,delete,insert任何操作,也返回为1。不是应该返回-1吗?下面... 为什麼 cmd.ExecuteNonQuery()总是返回为1,没有执行select,update,delete,insert任何操作,也返回为1。
不是应该返回-1吗?
下面是我的sql,不管是if中还是else中,i=cmd.ExecuteNonQuery()都返回为1,在线等,求帮忙!
IF (SUBSTR(p_name,1,2)<>'GL' AND SUBSTR(p_mac,1,8)='33:33:33') THEN

p_flag := sql%ROWCOUNT;
ELSE
UPDATE table1
SET name = p_name
WHERE id = p_id AND delflag = 0;
THEN
p_flag := 1;
ELSE
p_flag := 0;
END IF; */
p_flag := sql%ROWCOUNT;
COMMIT;
END IF;

更多
0

分享到:
後来改成的SQL是这样的:

If (SUBSTR(P_NAME)=='NB')
P_FLAG := 0
ELSE
INSERT 语句
P_FLAG := 1;
end IF;
在数据库test时, p_flag = 0,但是在代码中.ExecuteNonQuery()返回却为1
展开
 我来答
桐芬馥S1
2015-04-09 · TA获得超过1165个赞
知道小有建树答主
回答量:438
采纳率:0%
帮助的人:310万
展开全部
C#...cmd.ExecuteNonQuery();是返回执行命令后影响的参数

返回符合你条件的所有语句,如果你要数据库里某张表的数据,说执行这个命令后他返回的是就是这张表的全部数据
cmd.ExecuteScalar();返回结果集中的首行首列

//返回的是在符合你SQL语句中的第一行第一例的数据
如果你SQL语句查的是整张表,但是这个命令就只能返回这张表的第一行,第一例的数据
追问
可是在if中我没有进行任何查询操作啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式