• 締切済み

VBSの中で書くSQL文の記述方法

selenityの回答

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

そもそも、このSQL文は正常に実行できますか? できない様な気がするのですが、、、 単純に、「insert id,password,date,name」が 余分なだけの気がしますが、、、 つまり、SQLの文法エラー、、 また、もじれるは"(ダブルクォート)で囲む必要が あるのでは? SELECT * FROM db1 WHERE db1_id=**** and db1_password='****' and db1_date='99999999' と記述してみましょう。 変数への代入は、value=RS("db1_id") の様に記述するはずです。 最近触っていないので、間違ってるかも しれませんが、、、

snowair
質問者

お礼

>変数への代入は、value=RS("db1_id") >の様に記述するはずです。 参考にさせて頂きます。ありがとうございました。

snowair
質問者

補足

埋め込みSQLをご存知でしょうか?正常に実行できますが。 ちなみに >単純に、「insert id,password,date,name」が じゃなくて「into」ですが。 とりあえずVBの世界では関係のない要素なのかもしれません。 (VB歴1ヶ月なのでそこのところはよくわからない)

関連するQ&A

  • XAMPPでSQL文を流すとフリーズしてしまいます

    現在、PHPでホームページを開発中で、XAMPPで試行錯誤しています。 数回(5~10回程度) SQL文を流すとApach自体が落ちる?サーバに接続出来ない状態になってしまいます。 自分の予想だと、接続が解除出来ていず複数接続になってしまい落ちているのかと思っています。 XAMPPのバージョンは1.7.3です。 実際に作成したログイン画面のソースコードを貼ります。 よろしくお願いいたします。 $server = "localhost"; $id = "ID"; $pw = "パスワード"; $dbname = "dbname"; $conn = mysql_connect($server, $id, $pw ); if( $conn == false ) { die("MySQL 接続エラー"); } mysql_select_db( $dbname ); $sql = " SELECT * FROM user where user_id='".$_POST["user_name"]."'"; $res = mysql_query( $sql ); while( $row = mysql_fetch_array( $res ) ) { // ログイン画面から取得したPWとデータベースのパスワード(pass)を照合する if($cryptpass == $row["password"]){ $user = new User($row["user_id"], $row["mail"]); $_SESSION["user"] = serialize($user); } } mysql_free_result($resource); mysql_close();

    • ベストアンサー
    • PHP
  • VBS ADO接続について

    VBSCRIPTを使用するのが始めてでなかなかうまくいきません アドバイス頂けますでしょうか。 環境 Windows2000Server 下記のようにしてみたのですが、エラーメッセージとしては 「オブジェクト名'test2'は無効です。」と出てしまいます。 このテーブル'test2'はクエリアナライザでSQLを使って 作成しました。 色々調べてはいますが、できましたらアドバイスの方お願いできますでしょうか。 Private Function DbDataUpdate(id2) Dim sql Dim conObj_ 'DBオブジェクトの生成 Set conObj_ = WScript.CreateObject("ADODB.Connection") conObj_.open "DSN=×××;UID=×××;PWD=×××;" conObj_.BeginTrans sql = "INSERT INTO test (id1, id2) " & _ "SELECT id1, id2 FROM test2 " & _ "WHERE " & _ "del = 0 AND " & _ "id2 = '" & id2 & "'" conObj_.execute(sql) sql = "UPDATE test2 " & _ "SET del = 1," &_ "WHERE " & _ "del = 0 AND " & _ "id2 = '" & id2 & "'" conObj_.execute(sql) conObj_.CommitTrans conObj_.close End Function

  • ソートの設定

    ASPでアクセス97を使って品番、納期という順番に表示させたいのですが うまくいきません。 SQL文を使って品番順にはならんだのですが、納期がばらばらになってしまいます。どうしたら品番、納期順という並びになるか教えて下さい。 Dim Conn,SQL,RS xxxx=server.mappath("*****.mdb") DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & xxxx Set Conn = Server.CreateObject("ADODB.Connection") Conn.open DBName SQL = "select * from ******" SQL = SQL & " order by 品番 asc" set RS = Server.CreateObject("ADODB.Recordset") RS.Open SQL, Conn,3,3

  • ASPでORACLEのエラーが発生するのですが、対処方法をお教えください。

    Win2000(IIS) + ORACLE8.1.6 でASPを使ったWEBサーバを構築しようとしています。 まず手始めに、単純にデータを登録するような簡単なASPを作成しようとしているのですが、 下記処理が、133行目でエラーになってしまいます。 ※当然の事ながら、ODBC接続の設定は正常に行えていることを確認しております。  (Accessでリンクテーブルを使って、ODBC経由でテーブルにデータを追加できます。) <処理内容 (/Oracle/newtoroku.asp の一部)> 126行目 Dim Conn,SQL,RS 127行目 DBName="Provider=msdaora;Data Source=xxxxx;User ID=xxxxx;Password=xxxxx" 128行目 Set Conn = Server.CreateObject("ADODB.Connection") 129行目 Conn.open DBName 130行目 SQL = "select * from XXテーブル" 131行目 Set RS = Server.CreateObject("ADODB.Recordset") 132行目 RS.Open SQL, Conn,3,2 133行目 rs.AddNew <エラー内容> ADODB.Recordset (0x800A0CB3) 現在の Recordset は更新をサポートしていません。 プロバイダか、選択されたロックタイプの限界の可能性があります。 /Oracle/newtoroku.asp, line 133

  • VB6とSQL SERVER 2005のADO接続方法

    VB6とSQL SERVER 2005(Developer Edition)のADO接続方法がわかりません。 今までSQLSERVER2000で開発していたのですが、DBをSQLSERVER2005に 変更したところ接続できませんでした。 以下はSQLSERVER2000時のソースなのですが、 2005の場合ConnectionStringはどうやればいいのでしょうか? --------------------------------------- Dim rs As ADODB.Recordset Dim cn As ADODB.Connection Set rs = New ADODB.Recordset Set cn = New ADODB.Connection cn.ConnectionString = "Provider=SQLOLEDB.1;" & _ "User ID=" & strUsr & ";" & _ "Data Source=" & strSvr & ";" & _ "Password=" & strPass cn.CursorLocation = adUseClient cn.Open --------------------------------------- 初歩的な質問で申し訳ありませんがどなたかお助けください。

  • レコードの更新の記述について

    フォームを作成しています。(mdbです。) 現在、webから編集できるページを作成しています。 お聞きしたいのは管理画面です。 管理画面で「削除」、「新規登録」、「編集」この3つを作成しています。 今は新規登録と、削除は作成・表示ともに成功しました。 が、「編集」がわからないのです。 編集のページは削除のページと同じようなレイアウトにしました。 しかしながら更新の記述がわからないんです…。 削除の場合は SQL = "Delete * FROM [link] where [ID] = (" & p_del&")" というので削除することができました。 レコードの更新はupdateを使う、というのはわかったんですが、ど ういう感じになるか教えていただけないでしょうか。 本を読んで実際にやってみても「update」と載っているくらいで あまり説明もあり理解できませんでした。 よろしくお願いします。 ---------------------------------------- 少しですが記述載です。 db1=server.mappath("link.mdb") DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db1 Set Conn = Server.CreateObject("ADODB.Connection") Conn.open DBName SQLD = "Delete * FROM [link] where [ID] = (" & p_hensyu&")" Conn.Execute(SQLD)

  • SQL whereの中のif文について

    SQLの中にif文を使いたいですが、 うまくいきません。 やはりwhereの中で使えないですか? アドバイスお願いします。 実際のSQL文: $sql = "select * from room";     $sql = $sql . " WHERE ((Keisai = 1)"; if(Chinryou1>0){ $sql = $sql . " and (Chinryou1 <= {$rent1})";     }else if(Chinryou1==0){ $sql = $sql . " and (Chinryou2 <= {$rent1})";    } $sql = $sql . ")"; $sql = $sql . " order by Narabijun desc, Name"; $sql = $sql . ";"; $result = mysql_query($sql, $conn); $num = mysql_num_rows($result);

    • ベストアンサー
    • MySQL
  • SQL文の最後に「;」はいらないのでしょうか?

    VBAのADOについて質問です。 SQL文の最後には「;」を付けなくちゃいけないものだと思っているのですが ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Private Sub test_Click() Dim CN As ADODB.Connection Dim RS As ADODB.Recordset Set CN = CurrentProject.Connection Set RS = New ADODB.Recordset SQL = "SELECT * FROM Tテーブル" ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ でも問題なくコードが動きました。 SQL文の最後に「;」はいらないのでしょうか? ちなみに SQL = "SELECT * FROM Tテーブル;" でもエラーになりませんでした。

  • SQL文が実行できません

    単純なSQLの実行命令なのですが、 下記のエラーメッセージが出て実行できません。 解消方法をご存知の方がいらっしゃいましたら、 教えてください。よろしくお願いします。 エラーメッセージ: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] パラメータが少なすぎます。1 を指定してください。 /x_db/1.asp, line 12 (Set RS = db.Execute(SQL)のラインがエラーです) ソースです。 <% Set db = Server.CreateObject"ADODB.Connection") db.Open "x_db" SQL = "select * from x_db where w_xpc ='" & Request.Form("F01") &"'" Set RS = db.Execute(SQL) Response.Write(RS.Fields("氏名")) RS.close set RS = nothing db.close set db = nothing %> 環境:WIN200server IIS5.0 access97

  • EXCELマクロのSQL文での引用符の使い方

    EXCELで社外サーバーにある、postgreSQLのデーターベーステーブルに接続し、テーブルにフォームに入力した値でフィルタをかけた結果をシートに転記するマクロを作ろうと思っています。 ACCESSではVBE扱ったことありますが、EXCELはほとんど経験なく、特にSQL(クエリ)の扱いが良く分からず、エラーの連続です。 いろんな、事例をググったのですがどうしても解決できす、どなたかお教えできないでしょうか? 以下標準モジュールに書き込み、Callで呼び出しています。 Sub tbl_copy() Dim QT As QueryTable Dim MySql As String Dim oCoN As New ADODB.Connection Dim oRS As ADODB.Recordset Dim day1 As Variant Dim day2 As Variant Dim s_num As Variant day1 = form1.date1 day2 = form1.date2 s_num = form1.NUMBER oCoN.Open "Driver={PostgreSQL Unicode}; Server=***.***.***.***; Database=DB001; UID=*****; PWD=*******; Port=****;" MySql = " select start_date, end_date, name, place, note from schedule" & _ " where owner_id LIKE s_num and (start_date Between #"" & day1 & ""# AND #"" & day2 & ""#) " & _ " order by start_date ASC; " Set oRS = New ADODB.Recordset oRS.Open MySql, oCoN, adOpenStatic, adLockReadOnly, adCmdText ’ここでエラー! Set QT = ActiveSheet.QueryTables.Add(Connection:=oCoN, Destination:=Range("A3")) QT.name = "MyQuery" QT.Refresh oRS.Close oCoN.Close Set oRS = Nothing Set oCoN = Nothing End Sub SQL文の書き方がまずいのかな?と思うのですが、ご教授願えれば幸いです。