我正在使用 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 打印到即时窗口时,我得到了这个:
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。我可以连接到数据库,但是当我运行 .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