SQL-查询中不存在的字符串的语法错误

SQL-查询中不存在的字符串的语法错误,sql,sql-server,vb.net,executenonquery,Sql,Sql Server,Vb.net,Executenonquery,在我的应用程序中,我在多个位置遇到一个奇怪的错误。基本上,我使用SqlManager和executeNonQuery()方法调用数据库中的存储过程,但我得到一个异常,表示: “44444”附近的语法不正确 在VisualStudio中。问题是,我的所有值都不等于'44444',并且该字符串不在存储过程中。当我使用SQL Server探查器启动跟踪时,我看不到该值 我试过用谷歌搜索这个问题,唯一接近这个问题的是有人在外键中输入null值时遇到了类似的问题(我的值都不是null) 调用存储过程的函数

在我的应用程序中,我在多个位置遇到一个奇怪的错误。基本上,我使用SqlManager和
executeNonQuery()
方法调用数据库中的存储过程,但我得到一个异常,表示:

“44444”附近的语法不正确

在VisualStudio中。问题是,我的所有值都不等于'44444',并且该字符串不在存储过程中。当我使用SQL Server探查器启动跟踪时,我看不到该值

我试过用谷歌搜索这个问题,唯一接近这个问题的是有人在外键中输入null值时遇到了类似的问题(我的值都不是null)

调用存储过程的函数:

Try
    Dim p As New List(Of SQLParametre)()
    p.Add(New SQLParametre("@InvcNum", invcNum, SQLParametreType.String))
    p.Add(New SQLParametre("@Sale", sale, SQLParametreType.Decimal))
    p.Add(New SQLParametre("@Commission", commission, SQLParametreType.Decimal))
    p.Add(New SQLParametre("@UpdtDate", DateTime.Today, SQLParametreType.Date))
    m_Manager.executeNonQuery("TheSP", p)
    Return True
Catch ex As Exception
    m_Log.WriteLog("theSP crashed", ex.Message)
    Return False
End Try
ALTER PROCEDURE [dbo].[TheSP]
@InvcNum varchar(9),
@Sale money,
@Commission money,
@UpdtDate as smalldatetime
AS
UPDATE tbInvc SET
  Sale = Sale + @Sale,
  Comm = Comm + @Commission,
  updateDate = @UpdtDate
WHERE (Num = @InvcNum)
存储过程:

Try
    Dim p As New List(Of SQLParametre)()
    p.Add(New SQLParametre("@InvcNum", invcNum, SQLParametreType.String))
    p.Add(New SQLParametre("@Sale", sale, SQLParametreType.Decimal))
    p.Add(New SQLParametre("@Commission", commission, SQLParametreType.Decimal))
    p.Add(New SQLParametre("@UpdtDate", DateTime.Today, SQLParametreType.Date))
    m_Manager.executeNonQuery("TheSP", p)
    Return True
Catch ex As Exception
    m_Log.WriteLog("theSP crashed", ex.Message)
    Return False
End Try
ALTER PROCEDURE [dbo].[TheSP]
@InvcNum varchar(9),
@Sale money,
@Commission money,
@UpdtDate as smalldatetime
AS
UPDATE tbInvc SET
  Sale = Sale + @Sale,
  Comm = Comm + @Commission,
  updateDate = @UpdtDate
WHERE (Num = @InvcNum)
有没有人遇到过类似的问题,查询/存储过程中没有字符串引发语法错误

编辑:我正在使用Visual studio 2012和SQL Server Management studio 2012,并修复了存储过程中由于更改列名而导致的打字错误

更新

在ManagementStudio中运行存储过程后,我看到错误也出现在那里,因此错误不应该出现在vb代码中

Management Studio引发的错误与我在VS2012异常中遇到的错误也不同:

Msg 102,15级,状态1,程序tbInvc_UTrig,第14行
“44444”附近的语法不正确


根据评论线索:问题似乎与表中附加的触发器有关。

是的,对不起,为了问题(和清晰性),我将表列名称更改为更易于键入的名称在调用
ExecuteOnQuery
方法之前,能否将
p
打印为字符串?SqlParameter到底是什么?我可以,但我使用的是SQL server profiler,我可以看到正在服务器上调用的SP(由于存在一些写入操作,因此正在工作)。我正在检查它,而不是以字符串形式打印P列表,因为它允许我准确地查看服务器正在接收的查询。此外,在逐步执行时,我检查了所有值以确保它们不为null。基本上,所有内容都有一个值,并且没有格式错误。看起来表上的触发器正在抛出错误