从索引 48 处开始,初始化字符串的格式不符合规范。
想把access数据库改为sQL server数据库,出现从索引 48 处开始,初始化字符串的格式不符合规范。错误,求大神指点。sQL server服务器已建好,测试正常。
Public Class DBOperation
'定义一个数据库操作类函数,其传入的参数是查询字符串,返回值的类型是内存中的数据表DataTable
Shared Function DBOperate(ByVal SQLString As String) As DataTable
Dim CONN As String
Dim oleconn As OleDb.OleDbConnection
' CONN = "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" + Application.StartupPath + "\ku.mdb"
CONN = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID="";PWD="""";Initial Catalog=kufang;Data Source=zhangne\zhangne"
'Dim oleconn As New OleDb.OleDbConnection(CONN)
oleconn = New System.Data.OleDb.OleDbConnection(CONN)
Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(SQLString, oleconn)
cmd.CommandType = CommandType.Text
Dim sTokens() As String
sTokens = SQLString.Split(" ")
If Strings.InStr("INSERT,DELETE,UPDATE", sTokens(0).ToUpper) Then
If oleconn.State <> ConnectionState.Open Then
oleconn.Open() '打开数据库连接
End If
cmd.ExecuteNonQuery() '执行SQL语句
If oleconn.State <> ConnectionState.Closed Then
oleconn.Close() '关闭数据库连接
End If
If sTokens(0).ToUpper = "INSERT" Then
MsgBox("编辑记录成功")
End If
If sTokens(0).ToUpper = "DELETE" Then
MsgBox("删除记录成功")
End If
If sTokens(0).ToUpper = "UPDATE" Then
MsgBox("更新记录成功")
End If
Return Nothing
Else
Dim ObjectdsDataSet As New DataSet()
Dim adapter As New OleDb.OleDbDataAdapter()
adapter.TableMappings.Add("Table", "TEMP")
adapter.SelectCommand = cmd
If oleconn.State <> ConnectionState.Open Then
oleconn.Open() '打开数据库连接
End If
cmd.ExecuteNonQuery() '执行SQL语句
If oleconn.State <> ConnectionState.Closed Then
oleconn.Close() '关闭数据库连接
End If
adapter.Fill(ObjectdsDataSet) '填充数据集
Return ObjectdsDataSet.Tables("TEMP")
End If
End Function
End Class