Access 导入到SQL时为啥报错

Access 导入到SQL时为什么报错
需做一个批量从Access导入到SQL的程序,代码如下:
Dim connStr1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path.Text & "\Main.mdb"
  Dim strSelect1 As String = "Select * from main order by HOMEROOM,USERID"
  Dim table1 As DataTable = AcEditdata.Search(connStr1, strSelect1)
  Dim conn As New System.Data.SqlClient.SqlConnection(ConnStr)
  conn.Open()
  Dim i As Integer
  For i = 0 To table1.Rows.Count - 1
  Dim SQLString As String = "INSERT INTO InternationalSchool ([LASTNAME])VALUES ('" '" + Trim(table1.Rows(i)("LASTNAME") & "") + "')"
  Dim myCommand As New System.Data.SqlClient.SqlCommand(SQLString, conn)
  myCommand.ExecuteNonQuery()
  Next

出现错误如下:
'Driscoll' 附近有语法错误。
字符串 ')' 后的引号不完整。
经检查是LASTNAME字段中有一行为O'Driscoll时就出错,只要是内容中前面有O'就出错,其它的就没问题,有没有解决的办法,先谢谢了!

------解决方案--------------------
'符号要处理的,要不然插入数据库会报错的。
------解决方案--------------------
直接启动SQL企业管理器中的/工具/数据转换服务/导入数据/
------解决方案--------------------
用 Replace(",",",")

------解决方案--------------------
探讨
用 Replace(",",",")

------解决方案--------------------
你这条语句效率也不高.
可以考虑用参数,会快一点,也不会出错.
...
Dim SQLString As String = "INSERT INTO InternationalSchool ([LASTNAME])VALUES (@LASTNAME)" 
Dim myCommand As New System.Data.SqlClient.SqlCommand(SQLString, conn)
myCommand.Parameters.Add("@LASTNAME") 

For i = 0 To table1.Rows.Count - 1 
myCommand.Parameters("@LASTNAME").Value = table1.Rows(i)("LASTNAME").ToString.Trim
myCommand.ExecuteNonQuery() 
Next
...

大概是这样.