VB アプリケーション (Visual Studio 2005 Pro を使用) に PostgresQL を使い始め、ODBC 経由で接続します (ネイティブの PostgresQL コネクタではなく、ODBC 接続を使用する理由があります)。
MSSQLで@something
and形式を使用することに慣れています。cmd.Parameters.Add("@something", data)
フォームから取得してinsertステートメントで使用したい9つの値がありますが、PostgresQLの構文を理解できないようです。
アイデア?私はこのところで答えを見つけようとして2日間検索しました。
編集:申し訳ありませんが、試していたコードを既に削除しましたが、最初のパラメーターである列「名前」で「列が存在しません」というエラーが発生し続けました。
次のコードが機能するため、接続エラーや命名規則の問題などではないことはわかっています。テストのために今やっている方法は次のとおりです。
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で発生します
再度、感謝します!