- 締切済み
select max~の値の取得方法
select Max(x) from table where y=1 基本的なことかもしれませんが、上のようなクエリを実行したときの値の取得の仕方を教えてください。 単純に query="select Max(x) from table where y=1" a=Execute query としたら「ステートメントの末尾が不正です。」というエラーが出ました。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- LegaC2
- ベストアンサー率52% (224/428)
通常、Executeは、UpdateとかDeleteとか、テーブルを更新する場合に使用します。 Selectなどで結果を受け取りたいときは、レコードセットに入れる必要があります。 判りづらくても、レコードセットを使用しましょう。
んー、これ本当に ASP のサーバ側にこういうコーディング書いているんでしょうか? もしそうなら詳細なコーディングをお願いします。 データプロバイダは何を使っていますか? Execute? OpenRecordset ではなく?
補足
Dim objCon Dim strSQL Set objCon = Server.CreateObject("ADODB.Connection") objCon.ConnectionString = "Provider=SQLOLEDB;" & _ "User ID=ユーザー名;" & _ "Password=パスワード;" & _ "Data Source=サーバーのIPアドレス;" & _ "Initial Catalog=DB名" objCon.Open query="select Max(x) from テーブル名 where y=1" objCon.Execute query 確かこんな感じだったと思います。今は手元にソースが無いのではっきりしないのですが。 recordsetはいまいち分かりづらかったのでExecuteを使っています。
お礼
以前PHPを少しやったことがあったので、Executeを使ったほうが似た感じでしっくりきてたんですよね。 でも、仕方ないですね。
補足
上のような場合、recordsetを使うとどのように書くのでしょうか? もしよければ、コードを書いていただけると助かります。