• 締切済み

select max~の値の取得方法

select Max(x) from table where y=1 基本的なことかもしれませんが、上のようなクエリを実行したときの値の取得の仕方を教えてください。 単純に query="select Max(x) from table where y=1" a=Execute query としたら「ステートメントの末尾が不正です。」というエラーが出ました。

みんなの回答

  • LegaC2
  • ベストアンサー率52% (224/428)
回答No.2

通常、Executeは、UpdateとかDeleteとか、テーブルを更新する場合に使用します。 Selectなどで結果を受け取りたいときは、レコードセットに入れる必要があります。 判りづらくても、レコードセットを使用しましょう。

shaka001
質問者

お礼

以前PHPを少しやったことがあったので、Executeを使ったほうが似た感じでしっくりきてたんですよね。 でも、仕方ないですね。

shaka001
質問者

補足

上のような場合、recordsetを使うとどのように書くのでしょうか? もしよければ、コードを書いていただけると助かります。

noname#259269
noname#259269
回答No.1

んー、これ本当に ASP のサーバ側にこういうコーディング書いているんでしょうか? もしそうなら詳細なコーディングをお願いします。 データプロバイダは何を使っていますか? Execute? OpenRecordset ではなく?

shaka001
質問者

補足

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を使っています。

関連するQ&A

専門家に質問してみよう