VB .Net を使用して正規表現の一致をループし、SQL ステートメントを生成しています。私はこのようなSQLを作成しています
sql = "Insert Into Agencies (Address) Values"
While MatchObj.Success
sql = sql & "(""" & MatchObj.Groups(1).Value & """), "
MatchObj = MatchObj.NextMatch()
End While
sql = sql.Substring(0, Len(sql) - 2) & ";"
したがって、SQLを作成した直後のウィンドウにSQLを出力すると、次のようになります。
Insert Into Agencies (Address) Values(" 1330 W Indian School Rd, "), (" 3323 E Baseline Rd, "), (" 207 N Gilbert Rd, "), (" 3160 S. Gilbert Rd., Ste. 4, ");
次に、SQL ステートメントを使用して OleDbCommand を作成します。DB に接続できますが、.ExecuteNonQuery() を実行すると、「SQL ステートメントの末尾にセミコロン (;) がありません」というエラーが表示されます。
私の目標は、単一の INSERT を使用して、これらすべての値を DB 列の「アドレス」に入れることです。
どんな助けでも大歓迎です。
編集:これは私が開いて実行するために使用しているサブです
Public Sub executeSQL(ByVal sql As String)
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Local Projects\AgenciesAZ.mdb'"
Dim conn As OleDbConnection = New OleDbConnection(connString)
Dim cmd As OleDbCommand = New OleDbCommand(sql, conn)
conn.Open()
cmd.ExecuteNonQuery() 'error hits here
conn.Close()
End Sub