以文本方式查看主题

-  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=43067)

--  作者:coch2004
--  发布时间:2013/11/28 19:22:00
--  [求助] sql检测重复值出现错误

If DataTables("供应商样品管理主表").HasChanges Or DataTables("供应商样品管理从表").HasChanges Then
    Dim cmd As New SQLCommand
    Dim nm As String =e.Form.Controls("e单据编号").Value
    cmd.C
    cmd.CommandText="Select * From {供应商样品管理主表} Where 单据编号=\'" & nm & "\'"

msgbox(0)
    If cmd.ExecuteScalar > 0 Then

msgbox(1)
        MessageBox.Show("555!","提示:",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If

 

此代码出现以下错误:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:2013-11-28_192015.png
图片点击可在新窗口打开查看
msgbox(1)不能弹出就出现错误

 

引代码在其他表中不会出现错误,请各位帮忙分析一下原因!

 

单据编号 字段属性为字符型

 

利用 msgbox(cmd.executescalar)  弹出 ("YP-000003"), 并没有弹出 数字

 

我测试过此代码在其他表中.msgbox(cmd.executescalar) 弹出的是数字,请问我哪儿设置错误了???

[此贴子已经被作者于2013-11-28 19:25:09编辑过]

--  作者:有点甜
--  发布时间:2013/11/28 19:42:00
--  
 改一下代码

If DataTables("供应商样品管理主表").HasChanges Or DataTables("供应商样品管理从表").HasChanges Then
    Dim cmd As New SQLCommand
    Dim nm As String =e.Form.Controls("e单据编号").Value
    cmd.C
    cmd.CommandText="Select count(*) From {供应商样品管理主表} Where 单据编号=\'" & nm & "\'"
    If cmd.ExecuteScalar > 0 Then
        MessageBox.Show("555!","提示:",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If

--  作者:coch2004
--  发布时间:2013/11/28 21:07:00
--  
以下是引用有点甜在2013-11-28 19:42:00的发言:
 改一下代码

If DataTables("供应商样品管理主表").HasChanges Or DataTables("供应商样品管理从表").HasChanges Then
    Dim cmd As New SQLCommand
    Dim nm As String =e.Form.Controls("e单据编号").Value
    cmd.C
    cmd.CommandText="Select count(*) From {供应商样品管理主表} Where 单据编号=\'" & nm & "\'"
    If cmd.ExecuteScalar > 0 Then
        MessageBox.Show("555!","提示:",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If

谢谢了!,更改一下就OK了