
PostgreSQLの初心者です。よろしくお願いします。
今、日本語ODBCドライバを使ってクライアント側を
VB.NETでプログラムを作っています。PostgreSQLは8.1.4です。
レコードの追加をするために、レコードIDのMAX値を
撮るためにプログラム中にSQL
sql = "SELECT MAX(user_id) AS MaxID FROM user"
を入れて発行したところ、本来ですと「1」が返って
こなければいけないのに、
Msgbox(MaxID)
を仕込むと「0」が返ってきます。そして、その後に
ERROR [HY000] Error while executing the query;
ERROR; operator does not exist: # integer
というエラーが返ってきます。
先ほどのSQLはリモートで直接PostgreSQLにつなぐと
ちゃんと「1」が返ってくるのですが、VB.NET上では
うまくいきません。
質問としては2つあります。
1)VB.NET上で実行すると、なぜ「0」が返ってきて
しまうのか?
2)エラーメッセージの意味
の2点です。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
テーブル構造および型は問題なくて、
psqlコマンドで実行してちゃんと1が返ってくるようであれば、
次はVB.NETプログラミングの問題かと思ってしまいます。
SQL周りだけでも良いので掲載して頂きたいと思います。
No.3
- 回答日時:
じゃあ、ほかのSQL文を実行できますか?
「Error while executing the query」
って実行エラーって意味だと思うんで、もしかしたらSQLが実行できてないかもしれません。
No.2
- 回答日時:
列:user_id の型を確認してみてください。
この回答への補足
ssm3uさん、回答ありがとうございます。
psqlで
# d\ user
と入れると、
Column | Type | Modifiers
---------------+-------------------+-----------
user_id | integer | not null
と返ってきますので、間違いなくintegerで定義して
います。
勿論、VB.NET側はMaxIDをintegerで取り扱っています。
他にお気づきの点はないでしょうか?
No.1
- 回答日時:
型が違いませんか?
Int型をString型として使ってる気がします。
salfさん、回答ありがとうございます。
psqlで
# d\ user
と入れると、
Column | Type | Modifiers
---------------+-------------------+-----------
user_id | integer | not null
と返ってきますので、間違いなくintegerで定義して
います。
勿論、VB.NET側はMaxIDをintegerで取り扱っています。
他にお気づきの点はないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文のエラー
-
Accessのマクロでモジュールを...
-
callで順に実行されるプロシー...
-
Access VBAで行ラベルが定義さ...
-
【Excel VBA】 WorksheetやRa...
-
Accessで年月日のデータ...
-
ストアドプロシジャからストア...
-
今日の日付が入った行のデータ...
-
Texの枠囲み調節
-
重複するIDのデータを1行にま...
-
会社の〇〇部と〇〇課の違いっ...
-
CHAR型の数字を日付にしたい
-
ROW_NUMBER BY PL/SQL
-
OSのシステム日付を変更して...
-
ALTER SESSIONについて
-
Statement ignored というエラー
-
sqlplusのspoolで空白行出現
-
Oracle9i プロシージャ内でのIF...
-
Access2016 VBA ボタンのイベン...
-
Excel VBAで「プログラム実行」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL文のエラー
-
百の位での四捨五入について
-
SQLiteのREAL型について
-
SQL文を教えてください
-
SSIS 変数の値をSQL実行タスク...
-
クエリファイルから外部のクエ...
-
sqlcmdの自動実行方法について
-
置換変数が再利用できない
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
キャッシュを使わずにSELECTを...
-
ODBCリンクの際にACCESSでは読...
-
日付型カラムへのデータINSERT
-
PL/SQLカーソルの2重FORループ...
-
sqlplusでヘッダーが付かない
-
ストアドプロシジャからストア...
-
SQL*Loaderでのsysdate使用
-
callで順に実行されるプロシー...
おすすめ情報