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.1
- 回答日時:
型が違いませんか?
Int型をString型として使ってる気がします。
salfさん、回答ありがとうございます。
psqlで
# d\ user
と入れると、
Column | Type | Modifiers
---------------+-------------------+-----------
user_id | integer | not null
と返ってきますので、間違いなくintegerで定義して
います。
勿論、VB.NET側はMaxIDをintegerで取り扱っています。
他にお気づきの点はないでしょうか?
No.2
- 回答日時:
列:user_id の型を確認してみてください。
この回答への補足
ssm3uさん、回答ありがとうございます。
psqlで
# d\ user
と入れると、
Column | Type | Modifiers
---------------+-------------------+-----------
user_id | integer | not null
と返ってきますので、間違いなくintegerで定義して
います。
勿論、VB.NET側はMaxIDをintegerで取り扱っています。
他にお気づきの点はないでしょうか?
No.3
- 回答日時:
じゃあ、ほかのSQL文を実行できますか?
「Error while executing the query」
って実行エラーって意味だと思うんで、もしかしたらSQLが実行できてないかもしれません。
No.4
- 回答日時:
テーブル構造および型は問題なくて、
psqlコマンドで実行してちゃんと1が返ってくるようであれば、
次はVB.NETプログラミングの問題かと思ってしまいます。
SQL周りだけでも良いので掲載して頂きたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文のエラー
-
Unix(soralis)で、Oracleに接続...
-
置換変数が再利用できない
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
Statement ignored というエラー
-
エクセルVBAでUserFormを起動し...
-
SQLサーバで和暦から西暦に変換...
-
sqlplusでヘッダーが付かない
-
時間項目を60進数から10進数へ...
-
テーブルの主キーをdate型...
-
キャッシュを使わずにSELECTを...
-
SQLで部分的にGROUP BYしたいとき
-
ACCESS2007インポート時の空白...
-
ODBCリンクの際にACCESSでは読...
-
ACCESSでDate関数のエラーのついて
-
SQLserver算術オーバーフロ...
-
callで順に実行されるプロシー...
-
VBA プロシージャの名前の取得
-
今日の日付が入った行のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
百の位での四捨五入について
-
SQL文のエラー
-
SSIS 変数の値をSQL実行タスク...
-
SQL文を教えてください
-
sqlcmdの自動実行方法について
-
SQLiteのREAL型について
-
クエリファイルから外部のクエ...
-
置換変数が再利用できない
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
今日の日付が入った行のデータ...
-
VBA プロシージャの名前の取得
-
キャッシュを使わずにSELECTを...
-
sqlplusでヘッダーが付かない
-
Accessの数値から時間に変換す...
-
ODBCリンクの際にACCESSでは読...
-
Statement ignored というエラー
-
SQLで部分的にGROUP BYしたいとき
-
PL/SQLカーソルの2重FORループ...
おすすめ情報