以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  执行SQL语句报错,Help!!!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=11338)

--  作者:Tommy
--  发布时间:2011/7/18 17:15:00
--  执行SQL语句报错,Help!!!

我的代码是:

在表事件DataRowDeleting里代码如下:

\'如果不是新增行,则删除SQL数据表上对应的行
If e.DataRow.RowState <> DataRowState.Added Then
    Dim cmd As New SQLCommand
    cmd.CommandText = "DELETE FROM {Product} WHERE _Identify = \'" & e.DataRow("_Identify") & "\'"
    cmd.ExecuteNonQuery()
End If

 

执行时报错,然后又在命令窗口中测试下面代码:

Dim cmd As New SQLCommand
cmd.CommandText = "DELETE FROM {Product} WHERE _Identify = 26"
cmd.ExecuteNonQuery()

 

还是一样报错,求解?!


图片点击可在新窗口打开查看此主题相关图片如下:错误.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/7/18 17:17:00
--  

cmd.CommandText = "DELETE FROM {Product} WHERE [_Identify] = 26"

 

http://www.foxtable.net/help/topics/1580.htm

 



--  作者:Tommy
--  发布时间:2011/7/18 17:21:00
--  

还是一样会报错


图片点击可在新窗口打开查看此主题相关图片如下:错误2.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/7/18 17:23:00
--  

你还得指定cmd的数据源名称:

 

Dim cmd As New SQLCommand
cmd. Connection Name = "数据源名称"
cmd.CommandText = "DELETE FROM {Product} WHERE [_Identify] = 26"
cmd.ExecuteNonQuery

[此贴子已经被作者于2011-7-18 17:23:09编辑过]

--  作者:Tommy
--  发布时间:2011/7/18 17:27:00
--  
OK图片点击可在新窗口打开查看,怎么帮助文档里那些示例都不用指定数据源啊?
--  作者:狐狸爸爸
--  发布时间:2011/7/18 17:29:00
--  

帮助用的内部数据。

而且帮助也提示了,看SQLCommand说明的最后一小节:

 

http://www.foxtable.net/help/topics/0696.htm

 

 


--  作者:blackzhu
--  发布时间:2011/7/18 20:16:00
--  

以后如果打算用外部数据源的,判断后台数据以及提取后台数据,目前的代码我建议直接用:

 

Dim cmd As New SQLCommand
cmd. Connection Name = "数据源名称"
cmd.CommandText = "DELETE FROM {Product} WHERE [_Identify] = 26"
cmd.ExecuteNonQuery

 

 

把数据源名称屏蔽掉,一旦转为后台,激活就可以了.


--  作者:blackzhu
--  发布时间:2011/7/18 20:16:00
--  
我说的是代码语句.