以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]sql编号问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84096)

--  作者:poiokm26
--  发布时间:2016/4/22 21:26:00
--  [求助]sql编号问题
开发指南/sql相关/sql应用实例/网络环境下的复杂编号…… 第20行代码:cmd1.executenonquery所代表的意义不明。我觉得它好像多余的, 但既然出现,必有它的道理。求解惑。
--  作者:Hyphen
--  发布时间:2016/4/23 8:59:00
--  
http://www.foxtable.com/help/topics/0696.htm

ExecuteNonQuery

用于执行不返回任何值的SQL命令,例如DELETE和UPDATE命令。
该方法会返回一个整数,表示受影响的行数。


--  作者:poiokm26
--  发布时间:2016/4/23 11:50:00
--  
……这个我知道啊。。我想清楚它在这代码里面起了什么作用。。我不明白帮助里的逻辑。
--  作者:Hyphen
--  发布时间:2016/4/23 12:02:00
--  
就是执行sql命令咯。
比如
cmd1.commandtext = "Insert Into 编号 (前缀, 顺序号) Values(\'" & pf & "\',1)"
上面代码只是定义一段sql,只有调用ExecuteNonQuery才会执行"Insert Into...这段sql

第一个ExecuteNonQuery是判断编号表不包含某个前缀的时候,执行插入sql插入一个新的前缀

第二个ExecuteNonQuery是执行更新sql,更新指定前缀的编号+1

--  作者:poiokm26
--  发布时间:2016/4/23 13:25:00
--  
明白,我一直以为commandtext就执行了