如何修复 oledbexception:表达式中'convert'未定义的函数?



我正试图使用一个小型VB.net应用程序以编程方式将一条记录插入SQL Server 2012数据库。当我执行应用程序时,会捕获以下OleDBException:

表达式中未定义的函数"convert"

我的VB是这样的:

    Dim conn As OleDbConnection = New OleDbConnection(connstring)
    Dim comm As OleDbCommand = New OleDbCommand(insertcommand)
    comm.Connection = conn
    Try
        conn.Open()
        comm.ExecuteNonQuery()
    Catch ex As Exception
        txbErrorSummary.Text += ex.ToString()
    End Try

insertcommand的样子:

INSERT INTO XXX([JCN], [DOT]) 
VALUES('PD7654',convert(varchar, '2/17/2014', 101))

有趣的是,当我将insert命令剪切并粘贴到SQL Management Studio中时,它可以毫不费力地插入记录。想法
感谢的帮助

我建议您用其他方式。与其尝试在SQL内部运行convert,不如在.NET应用程序中执行此操作,并传递已经存在的DateTimem对象。

convert函数的问题在于它不是一个OleDB有效函数。如果使用SqlCommand,它可能会正常工作,因为此函数是T-SQL,仅对MS SQL 有效

最新更新