SQL查询返回';过载解析错误';
我有一个readini文件连接到我的SQL Server表,在我显示数据的查询代码中,我得到了一个我无法解决的错误,这里有人可以解决吗 这就是错误: 错误1SQL查询返回';过载解析错误';,sql,.net,sql-server,vb.net,oledb,Sql,.net,Sql Server,Vb.net,Oledb,我有一个readini文件连接到我的SQL Server表,在我显示数据的查询代码中,我得到了一个我无法解决的错误,这里有人可以解决吗 这就是错误: 错误1 重载解析失败,因为无法使用以下参数调用可访问的“New”: “Public Sub New(selectCommandText作为字符串,selectConnection作为System.Data.OleDb.OleDbConnection)”:类型为“SQLServerApplication.readini”的值无法转换为“System.
重载解析失败,因为无法使用以下参数调用可访问的“New”: “Public Sub New(selectCommandText作为字符串,selectConnection作为System.Data.OleDb.OleDbConnection)”:类型为“SQLServerApplication.readini”的值无法转换为“System.Data.OleDb.OleDbConnection”。
“Public Sub New(selectCommandText作为字符串,selectConnectionString作为字符串)”:无法将类型为“SQLServerApplication.readini”的值转换为“String” 代码如下:
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class frmViewDtb
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim connection As readini = New readini()
connection.getConnectionString()
Dim sql As String = "SELECT * FROM tblPerson"
Dim da As New OleDbDataAdapter(sql, connection)
Dim ds As New DataSet()
da.Fill(ds, "tblPerson")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "tblPerson"
End Sub
End Class
发生错误的行是第13行:
Dim da As New OleDbDataAdapter(sql, connection)
getConnectionString的代码
Public Function getConnectionString() As String
Dim s As String =
"Provider=" & provider & ";" &
"user ID=" & username & ";" &
"password=" & password & ";" &
"initial catalog=" & databasename & ";" &
"data source=" & servername & "; " &
"Persists Security Info=False"
End Function
如果你能得到它,请提前感谢 我相信您收到了错误,因为OLEDBDataAdapter的构造函数需要两个字符串,而您的
连接
变量不是字符串。我怀疑您的代码需要如下所示:
Dim connection As readini = New readini()
Dim ConnString = connection.getConnectionString()
Dim sql As String = "SELECT * FROM tblPerson"
Dim da As New OleDbDataAdapter(sql, ConnString)
Dim ds As New DataSet()
da.Fill(ds, "tblPerson")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "tblPerson"
getConnectionString方法还需要修改以添加Return
语句:
Public Function getConnectionString() As String
Dim s As String =
"Provider=" & provider & ";" &
"user ID=" & username & ";" &
"password=" & password & ";" &
"initial catalog=" & databasename & ";" &
"data source=" & servername & "; " &
"Persists Security Info=False"
Return s
End Function
那么您的
readini
类是什么样子的,您希望在这里调用哪个构造函数?这解决了我遇到的编译错误,但现在我得到了一个运行时错误:System.Data.dll中发生了类型为“System.InvalidOperationException”的未处理异常。其他信息:ConnectionString属性尚未初始化。这听起来好像您没有从readini类中获取有效的连接字符串。使用调试器或Debug.Print显示字符串的内容。可能值得将getConnectionString方法的代码添加到您的问题中,以便我们能够提供帮助。我现在将尝试单步执行,同时,如果您愿意,我已经在原始问题中发布了getConnectionString代码。好的,这很有帮助。您没有从getConnectionString返回s的值。当然,只需在“结束函数”行之前添加一个“返回s”!是的,好的,这很有效,谢谢!我一定会尽快接受你的答复。