我试图使用一个小的VB.net应用程序以编程方式将单个记录插入到SQL Server 2012数据库中。当我执行应用程序时,捕获以下OleDBException:
未定义的功能'转换'在表达
我的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))
有趣的是,当我将insertcommand剪切并粘贴到SQL Management Studio中时,它会毫无困难地插入记录。思考?
感谢帮助
答案 0 :(得分:1)
我建议你以其他方式这样做。而不是尝试在SQL中运行转换,而是在.NET应用程序中执行此操作并传递已经DateTime
m对象。
convert
函数的问题是它不是OleDB有效函数。如果您使用SqlCommand它可能会正常工作,因为此函数是T-SQL仅对MS SQL有效