注册 登录
编程论坛 VB6论坛

请教大神。我想通过SQL语句删除DataGrid中选中的某一行,下面的这段代码怎么删不掉呢?

luffy9202 发布于 2015-05-06 17:04, 567 次点击
程序代码:
Private Sub cmdDelete_Click()
    '打开错误处理陷阱
    Dim intErrFileNo As Integer  '自由文件号
    On Error GoTo ErrGoto
    '----------------------------------------------------
    '打开数据库连接
    OpenDBFile
    'DataGrid1.Col = 0
    'DataGrid1.Row = CurEm
    If vbYes = MsgBox("是否删除" & DataGrid1.Text & "?", vbYesNo) Then
        '执行删除
        DataGrid1.Row = CurEm
        DataGrid1.Col = 0
        gCon.Execute "DELETE FROM 设备型号 WHERE 序号 = """ & DataGrid1.Text & """ "
    End If
    '关闭数据库连接
    CloseDBFile
    '刷新数据
    Adodc1.Refresh
    '----------------------------------------------------
    Exit Sub
    '-----------------------------
ErrGoto:
    '把错误信息保存在文件里
    intErrFileNo = FreeFile()
    Open "YFSystem.ini" For Append As intErrFileNo
    Print #intErrFileNo, Chr(34) + Format(Now, "YYYY-MM-DD HH:MM:SS") + Chr(34), Chr(34) + "信息" + Chr(34), Chr(34) + Err.Description + Chr(34), Chr(34) + "cmdDelete_Click(bianji)" + Chr(34), Chr(34) + App.Title + Chr(34)
    Close #intErrFileNo
End Sub
7 回复
#2
lianyicq2015-05-07 09:43
试试把 gCon.Execute "DELETE FROM 设备型号 WHERE 序号 = """ & DataGrid1.Text & """ "
改为
 gCon.Execute "DELETE FROM 设备型号 WHERE 序号 = '" & Text5.Text & "' "
#3
luffy92022015-05-07 09:51
回复 2楼 lianyicq
不行啊 没有定义Text5  我是通过鼠标点击选中再删除的 会不会是模块或者哪里写的有不对的地方?
#4
lianyicq2015-05-07 09:53
我是用文本框试的,你改为DataGrid1.Text
注意单双引号
#5
luffy92022015-05-07 10:18
回复 4楼 lianyicq
gCon.Execute "DELETE FROM 设备型号 WHERE 序号 =  '" & DataGrid1.Text & "' "
这样呗?还是不行。。。
#6
lianyicq2015-05-07 10:20
回复 5楼 luffy9202
在这一句前加个断点,看看datagrid1.text是不是你选中的记录中对应的值
#7
luffy92022015-05-07 10:29
我是个菜鸟。。。 执行到这一句就出错 执行ErrGoto了 怎么看是不是选中的这一行
#8
luffy92022015-05-07 11:20
回复 6楼 lianyicq
好了好了 就是引号的问题 因为我把序号设置成数字格式了 现在改成文本格式就可以了
1