以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]sql数据库插入数据,sql语句不执行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=186531)

--  作者:jshuipu66033
--  发布时间:2023/5/9 15:53:00
--  [讨论]sql数据库插入数据,sql语句不执行
 大佬们,插入语句没报错,但是数据库里查不到插入的数据。

Dim inx As Integer = cmd.ExecuteScalar + 1
 cmd.CommandText = "Insert Into 物料信息 (物料号,品名,规格成分,颜色,支数,单位) Values(" & inx & ",\'" & e.Row("品名") & "\',\'" & e.Row("规格成分") & "\',\'" & e.Row("颜色") & "\',\'" & e.Row("支数") & "\',\'KG\')"

--  作者:有点蓝
--  发布时间:2023/5/9 16:00:00
--  
调换上面2句代码的顺序
--  作者:有点蓝
--  发布时间:2023/5/9 16:01:00
--  
另外应该使用ExecuteNonQuery

 cmd.CommandText = "Insert Into 物料信息 (物料号,品名,规格成分,颜色,支数,单位) Values(" & inx & ",\'" & e.Row("品名") & "\',\'" & e.Row("规格成分") & "\',\'" & e.Row("颜色") & "\',\'" & e.Row("支数") & "\',\'KG\')"
Dim inx As Integer = cmd.ExecuteNonQuery

--  作者:jshuipu66033
--  发布时间:2023/5/9 16:11:00
--  
抱歉,没描述清楚,inx是上一个sql语句查询后赋予的值,现在需插入一行新数据,新物料号 = inx。现在插入语句执行后,数据库里没有插入的信息
--  作者:有点蓝
--  发布时间:2023/5/9 16:28:00
--  
最后调用一下cmd.ExecuteNonQuery
--  作者:jshuipu66033
--  发布时间:2023/5/9 16:32:00
--  
好了,同时学习到了,cmd.CommandText只是表示需执行的语句,还需一个执行的动作cmd.ExecuteNonQuery