プロが教えるわが家の防犯対策術!

お世話になります。
VB.net+MYSQLで開発してます。

MYSQLで聞きたいことがあるのですが、
今やろうとしている処理が
配列の要素数分ループ処理でインサートしようとしています。
しかし書き方が悪いのか配列名(カウンタ)という記述だと
Functionに見られてしまいます。
それならと配列の要素を変数に代入して
INSERTには変数をあてているのですが
変数が展開されません。。。
PHPとかだと変数の前に「.$」をつけると出来ると書いてあったのですが
VBにも特殊なルールがあるのでしょうか?
以上よろしくお願いします。

以下サンプルソースです。(接続等はぶいてますが接続はできてます)
Dim a As String
Dim sqlstr As String
Dim sqlcommand As Odbc.OdbcCommand

for i as Integer = 0 to uBound(data_array)

'初期化
a = ""
'変数に値を設定
a = data_array(i)

'SQL文字列の設定
sqlstr = "insert into test( col_1 )" + _
"values(a);"

sqlcommand.CommandText = sqlstr

sqlcommand.ExecuteNonQuery()

next

A 回答 (1件)

SQLの文法エラーでは?



>'SQL文字列の設定
>sqlstr = "insert into test( col_1 )" + _
>"values(a);"

sqlstr = "insert into test( col_1 ) values(" & a & ");"
が正しいのでは?

また、col_1も変数っぽいのですが、その場合も
sqlstr = "insert into test(" & col_1 & ") values(" & a & ");"
にしなくてはいけないのでは?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

・・・・すみません。。。。
ご回答を見て「あああああああああああああああああ!」
ってこんな質問をした自分が非常に恥ずかしくなりました・・
初めて使うMYSQLでいろいろ問題が起こっており
テンパってました。(しかも原因MYSQL関係ないし;;)
ごく初歩的なミスだったのですね。。。。
変数まで"でくくったらそりゃ展開されませんよねorz

助かりました><
ちなみにcol_1は変数でなくてtestテーブルのカラム名です。
ややこしくてすみませんでした。

ほんとにありがとうございました。

お礼日時:2008/03/26 10:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!