- PR -

postgresql8.1への接続について

1
投稿者投稿内容
うな
会議室デビュー日: 2003/10/13
投稿数: 15
投稿日時: 2005-12-11 11:30
C#.netからNpgsqlを使用してPostgreSql8.1への接続で困っています。

SQLの変数で8.0までは「:変数名」が可能だったのですが、
8.1で下記のようなSQLを実行すると
select * from user where userid = :userid;

ERROR: syntax error at or near ":" at character 47
というエラーになってしまいます。

8.1から変数の定義の仕方が変わったのでしょうか?
ご存知の方がいらっしゃいましたら、教えていただけませんでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-11 11:48
引用:

うなさんの書き込み (2005-12-11 11:30) より:

select * from user where userid = :userid;
ERROR: syntax error at or near ":" at character 47


":" 付近に無効な構文があります。

ところで、フィールド名 = :フィールド名 って有効なのですか?
普通はパラメタ名はフィールド名と被らない名前にしますよね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うな
会議室デビュー日: 2003/10/13
投稿数: 15
投稿日時: 2005-12-11 13:09
パラメタ名をフィールド名と異なるものにしても同様でした。
ちなみに8.0ではパラメタ名とフィールド名を同じにしていても問題ありませんでした。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-11 23:46
「:」ではなく「@」でもダメでしょうか。
両方使えた記憶があるのですが、違うのかな...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うな
会議室デビュー日: 2003/10/13
投稿数: 15
投稿日時: 2005-12-12 23:23
すいません。ロジックが間違っていたみたいで、@を試すのと同時にロジックを見直したところうまくいきました。
私の確認不足でこのようなスレッドをあげてしまって申し訳ありません。
以後、よく注意します。
じゃんぬねっとさん、いろいろご回答ありがとうございました。
お騒げしてもうしわけありませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)