我是编程的新手,我在构建应用程序时遇到了一些错误。 Visual Studio错误框的附加信息部分提供以下消息:
System.Data.dll中出现未处理的“System.ArgumentException”类型异常
附加信息:初始化字符串的格式不符合从索引0开始的规范。
当应用程序尝试执行以下代码行时会发生这种情况:
Dim da As New SqlDataAdapter(sql, cs)
我一直在努力解决这个问题无济于事。感谢您提供的任何帮助!请在下面找到该课程的其他信息/代码:
Imports System.Data
Imports System.Data.SqlClient
Public Class DButil
Public cs As String
Public Function GetDataView(ByVal sql As String) As DataView
Dim ds As New DataSet
Dim da As New SqlDataAdapter(sql, cs)
da.Fill(ds)
Dim dv As New DataView(ds.Tables(0))
Return dv
End Function
Public Sub New()
cs = "Data Source=(LocalDB)\v11.0"
cs += "Data Source=(LocalDB)'C:\Users\Sean\Documents\Visual Studio 2013\Projects\349591\349591\cms.mdf';Integrated Security=True;"
cs += "Integrated Security =True;Connect Timeout=30"
End Sub
End Class
谢谢你的回复,史蒂夫。这从以下行中删除了错误:Dim da As New SqlDataAdapter(sql,cs)。现在出现以下错误:da.Fill(ds)。此错误表示SqlException未处理,并且表示非布尔类型,其中条件预计在“,”附近。思考? -
答案 0 :(得分:2)
您的连接字符串确实是错误的。
对于带有LocalDB实例的Sql Server 2012,您需要
Public Sub New()
cs = "Server=(LocalDB)\v11.0;"
cs += "Integrated Security=True;"
cs += "AttachDbFileName=C:\Users\Sean\Documents\Visual Studio 2013\Projects\349591\349591\cms.mdf;"
End Sub
上查看Sql Server的连接字符串示例
答案 1 :(得分:1)
您的连接字符串肯定是错误的。看看http://www.connectionstrings.com/sqlconnection/localdb-automatic-instance-with-specific-data-file/
以下是如何查询数据库并返回数据视图的示例
Public Function GetDataView(sql As String) As DataView
Dim cs = "Server=(localdb)\v11.0;Integrated Security=true;AttachDbFileName=C:\Users\Sean\Documents\Visual Studio 2013\Projects\349591\349591\cms.mdf;"
Using cnn As New SqlConnection(cs)
Using cmd As New SqlCommand(sql, cnn)
Try
cnn.Open()
Dim t As New DataTable
t.Load(cmd.ExecuteReader)
Return New DataView(t)
Catch ex As Exception
''handle the error
End Try
End Using
End Using
End Function