2010-08-29 104 views
0

我在visual stdio 2005中工作vb.net。
我想从我的表中删除一个表的名称显示在列表框中,当我按下我的应用程序中的删除按钮时,什么都不会发生。在vb.net中删除命令

Private Sub cmdDELETE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDELETE.Click 
     Me.SqlConnection1.Open() 
     Dim mycom As SqlCommand 
     Dim ra As Integer 
     mycom = New SqlCommand("DELETE @PICTUREDATA From pic WHERE 
     (NAME = '+ ListBox1.SelectedItem + ')", Me.SqlConnection1) 
     ra = mycom.ExecuteNonQuery() 
     MessageBox.Show("ROWS AFFECTED " & ra) 
     Me.SqlConnection1.Close() 
    End Sub 

任何帮助plzz

+0

你可以尝试执行查询DELETE @PICTUREDATA从图片WHERE(NAME ='+ ListBox1.SelectedItem +')“ - 与选定的项目值传递给代码 - 直接在数据库中,并检查是否达到所需结果?代码SEEMS非常OK..u将需要进行调试以确定问题所在。 – InSane 2010-08-29 04:45:55

回答

2

如果您有复制粘贴代码,至少有一个错误使用引号。 它应该是这样的:

mycom = New SqlCommand("DELETE @PICTUREDATA From pic WHERE 
(NAME = '" + ListBox1.SelectedItem + "')", Me.SqlConnection1 

但你真的应该考虑使用SqlCommand.Parameters集合添加你输入的数据。您的代码面临SQL注入攻击。