刚开始将 PostgresQL 用于 vb 应用程序(使用 Visual Studio 2005 Pro)并通过 ODBC 连接(使用 ODBC 连接而不是本机 PostgresQL 连接器是有原因的)。
我习惯于在 MSSQL 中使用@something
andcmd.Parameters.Add("@something", data)
格式。我想从表单中获取 9 个值并在插入语句中使用它们,但似乎无法弄清楚 PostgresQL 的语法。
想法?我已经搜索了两天试图找到这个顺便说一句的答案。
编辑:对不起,我已经删除了我正在尝试的代码,但是我在列“名称”上不断收到“列不存在”错误,这是我的第一个参数。
我知道这不是连接错误或命名约定问题或类似问题,因为以下代码确实有效。这是我现在如何进行测试:
strSQL = "INSERT INTO tableb (name, extension, length,creationtime,lastaccesstime,lastwritetime,directoryname) VALUES ('Name','Extension','Length','CreationTime','LastAccessTime','LastWriteTime','DirectoryName')"
objConn.ConnectionString = strConnString
objConn.Open()
With objCmd
.Connection = objConn
.CommandText = strSQL
.CommandType = CommandType.Text
.ExecuteNonQuery()
End With
哦,我使用的 ODBC 版本是 8.03.02.00
更多信息:导致错误的代码:
strSQL = "INSERT INTO TABLEB (name) VALUES (@name)"
objConn.ConnectionString = strConnString
objConn.Open()
'Try
With objCmd
.Parameters.Add("@name", SqlDbType.Int)
.Parameters("@name").Value = "SomeText"
.Connection = objConn
.CommandText = strSQL
.CommandType = CommandType.Text
.ExecuteNonQuery()
End With
带参数的代码:
确切的错误:ODBC 异常:
"ERROR [42703] ERROR: column "name" does not exist;
Error while executing the query"
错误发生在 .ExecuteNonQuery
再次感谢!