出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

INSERT INTO ステートメントの構文エラーです   みーさん [2002/04/15 20:54:56] [1979]
  Re:INSERT INTO ステートメントの構文エラーです   Kevinさん [2002/04/16 7:36:48] [1980]
    Re:INSERT INTO ステートメントの構文エラーです   みーさん [2002/04/16 13:21:18] [1984]
      Re:INSERT INTO ステートメントの構文エラーです   Tomitomiさん [2002/04/16 13:33:17] [1985]
      Re:INSERT INTO ステートメントの構文エラーです   Kevinさん [2002/04/16 15:39:32] [1989]
        Re:INSERT INTO ステートメントの構文エラーです   みーさん [2002/04/16 18:07:54] [1990]

[1979] INSERT INTO ステートメントの構文エラーです
投稿者:みーさん 2002/04/15 20:54:56
こんにちわ。
また投稿させていただきます。
今回はまってしまったのは

Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14'
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。

というエラーです。
一応自分なりに調べてみたのですが,特に「予約語」というものを使っているというわけではないと思うのですが。…
きっとSQL文のところがまずいのではないのかと思うのですが,
誰か解決方法をご存知のかたがいらしたら教えていただきたく。。。

私の書いたものは
---------------------------------------------------------
<%

Set ObjConn = Server.CreateObject("ADODB.Connection")
ObjConn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &_
Server.Mappath("db1.mdb")
Set ObjRS = Server.CreateObject("ADODB.Recordset")

id=Request.Form("id")
vendor=Request.Form("vendor")
country=Request.Form("country")
approval=Request.Form("approval")
dept=Request.Form("dept")
sony=Request.Form("sony")
mes=Request.Form("mes")

If id <>"" and vendor <>"" and country <>"" and approval <>"" and dept <>"" and sony <>"" and mes <>"" Then
StrSQL = "insert into list1 ("
StrSQL = StrSQL & " id, "
StrSQL = StrSQL & " vendor, "
StrSQL = StrSQL & " approval, "
StrSQL = StrSQL & " dept ,"
StrSQL = StrSQL & " sony,"
StrSQL = StrSQL & " mes,"

StrSQL = StrSQL & ") values ("
StrSQL = StrSQL & "'" & id & "',"
StrSQL = StrSQL & "'" & vendor & "',"
StrSQL = StrSQL & "'" & approval & "',"
StrSQL = StrSQL & "'" & dept & "',"
StrSQL = StrSQL & "'" & sony & "',"
StrSQL = StrSQL & "'" & mes & "',"
ObjConn.Execute(StrSQL)
End If
%>
----------------------------------------------------------
です。
どうぞよろしくお願いいたします。

[1980] Re:INSERT INTO ステートメントの構文エラーです
投稿者:Kevinさん 2002/04/16 7:36:48
Kevinです

STRSQLの最後に","ではなくて、")"です。

デバック時には
SQL文の確認に
Response.write "strsql=" & wtrsql
などとして、実際にExecuteされる
SQL文を確認したらよいと思います。


> こんにちわ。
> また投稿させていただきます。
> 今回はまってしまったのは
>
> Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14'
> [Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。
>
> というエラーです。
> 一応自分なりに調べてみたのですが,特に「予約語」というものを使っているというわけではないと思うのですが。…
> きっとSQL文のところがまずいのではないのかと思うのですが,
> 誰か解決方法をご存知のかたがいらしたら教えていただきたく。。。
>
> 私の書いたものは
> ---------------------------------------------------------
> <%
>
> Set ObjConn = Server.CreateObject("ADODB.Connection")
> ObjConn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" &_
> Server.Mappath("db1.mdb")
> Set ObjRS = Server.CreateObject("ADODB.Recordset")
>
> id=Request.Form("id")
> vendor=Request.Form("vendor")
> country=Request.Form("country")
> approval=Request.Form("approval")
> dept=Request.Form("dept")
> sony=Request.Form("sony")
> mes=Request.Form("mes")
>
> If id <>"" and vendor <>"" and country <>"" and approval <>"" and dept <>"" and sony <>"" and mes <>"" Then
> StrSQL = "insert into list1 ("
> StrSQL = StrSQL & " id, "
> StrSQL = StrSQL & " vendor, "
> StrSQL = StrSQL & " approval, "
> StrSQL = StrSQL & " dept ,"
> StrSQL = StrSQL & " sony,"
> StrSQL = StrSQL & " mes,"
>
> StrSQL = StrSQL & ") values ("
> StrSQL = StrSQL & "'" & id & "',"
> StrSQL = StrSQL & "'" & vendor & "',"
> StrSQL = StrSQL & "'" & approval & "',"
> StrSQL = StrSQL & "'" & dept & "',"
> StrSQL = StrSQL & "'" & sony & "',"
> StrSQL = StrSQL & "'" & mes & "',"
> ObjConn.Execute(StrSQL)
> End If
> %>
> ----------------------------------------------------------
> です。
> どうぞよろしくお願いいたします。

[1984] Re:INSERT INTO ステートメントの構文エラーです
投稿者:みーさん 2002/04/16 13:21:18
Kevinさん。お返事どうもありがとうございます。
日本のかたですよね。。。。

ご指摘いただいたように
STRSQLの最後の部分に
------------------------------
StrSQL = StrSQL & ") values ("
StrSQL = StrSQL & "'" & id & "',"
StrSQL = StrSQL & "'" & vendor & "',"
StrSQL = StrSQL & "'" & approval & "',"
StrSQL = StrSQL & "'" & dept & "',"
StrSQL = StrSQL & "'" & sony & "',"
StrSQL = StrSQL & "'" & mes & "',"
StrSQL = StrSQL & ")"
ObjConn.Execute(StrSQL)
Response.write "strsql=" & wtrsql
---------------------------------------------------
")"をくわえてみました。
それでもまだ,同じエラーがでます。

もしかしていれる場所を間違えていますか?
何度も申し訳ないのですが、
よろしくお願いいたします。



[1985] Re:INSERT INTO ステートメントの構文エラーです
投稿者:Tomitomiさん 2002/04/16 13:33:17
こんにちは、Tomitomiです。

> StrSQL = StrSQL & "'" & mes & "',"
> StrSQL = StrSQL & ")"

SQLの書き方と「Response.write "strsql=" & wtrsql」で書き出したSQLを比べて見ましょう。

SQLのinsert文は、

insert into テーブル名(フィールド名1,フィールド名2) values (値1,値2)

ですよね?
みーさんのSQLは、
insert into テーブル名(フィールド名1,フィールド名2,) values (値1,値2,)
という風になっているはずです。
違いがわかるでしょうか?「フィールド名2」は最後のフィールドなので「フィールド名2」の後ろにカンマは要りません。
「値2」の後ろもいっしょです。

[1989] Re:INSERT INTO ステートメントの構文エラーです
投稿者:Kevinさん 2002/04/16 15:39:32
Kevinです。
確認用のResponse.writeの後の文(wtrsql)が間違えていました。

正しくは、
Response.write "StrSQL=" & StrSql
です。



> Kevinさん。お返事どうもありがとうございます。
> 日本のかたですよね。。。。
>
> ご指摘いただいたように
> STRSQLの最後の部分に
> ------------------------------
> StrSQL = StrSQL & ") values ("
> StrSQL = StrSQL & "'" & id & "',"
> StrSQL = StrSQL & "'" & vendor & "',"
> StrSQL = StrSQL & "'" & approval & "',"
> StrSQL = StrSQL & "'" & dept & "',"
> StrSQL = StrSQL & "'" & sony & "',"
> StrSQL = StrSQL & "'" & mes & "',"
> StrSQL = StrSQL & ")"
> ObjConn.Execute(StrSQL)
> Response.write "strsql=" & wtrsql
> ---------------------------------------------------
> ")"をくわえてみました。
> それでもまだ,同じエラーがでます。
>
> もしかしていれる場所を間違えていますか?
> 何度も申し訳ないのですが、
> よろしくお願いいたします。
>
>
>

[1990] Re:INSERT INTO ステートメントの構文エラーです
投稿者:みーさん 2002/04/16 18:07:54
Kevinさん、Tomitomiさん、どうもありがとうございました。
とりあえずDBに追加することはできたみたいです。
また違うエラーはでてはいますが。。。
あぁ〜道のりは遠いいですね。。。
なきたい。。。。
お仕事,お仕事。。。。(/TДT)/あうぅ・・・・



TreeBBS For ASP V.0.1.3
Program By YasNet