[英]overload resolution failed because no accessible 'writealltext' accepts this number of arguments
[英]Overload resolution failed because no accessible 'ExecuteScalar' accepts this number of arguments
我是VB.NET的新手,我想知道如何解決此錯誤。
碼
Dim sql As String = "SELECT (USER) FROM USER_CONSTANT"
Dim conn As New SqlConnection(strConn)
Dim objDR As SqlDataReader
Dim Cmd As New SqlCommand(sql, conn)
conn.Open()
objDR = Cmd.ExecuteScalar(CommandBehavior.CloseConnection)
While objDR.Read()
Label7.Text = objDR("USER")
ExecuteScalar方法不需要任何參數。 可以將CommandBehavior枚舉傳遞給ExecuteReader方法,因此我想您的代碼應編寫為
Dim sql As String = "SELECT (USER) FROM USER_CONSTANT"
Using conn = New SqlConnection(strConn)
Using Cmd = New SqlCommand(sql, conn)
conn.Open()
Using objDR = Cmd.ExecuteReader(CommandBehavior.CloseConnection)
While objDR.Read()
Label7.Text = objDR("USER")
End While
End Using
End Using
End Using
尚不清楚您是否希望從此代碼中收到多個記錄。 如果返回多個記錄,則請注意,在每個循環中,您都使用當前的USER更改Label7.Text的內容,並且循環以顯示的姓氏結束
ExecuteScalar
不接受任何變量(請參閱文檔 )。 只需將行更改為objDR = Cmd.ExecuteScalar
。
正如錯誤所言, ExecuteScalar
不會接受任何數量的參數重載。 或任何論點 。 代替:
objDR = Cmd.ExecuteScalar()
還是您打算使用ExecuteReader
,因為您打算遍歷結果並且標量不是結果集?
objDR = Cmd.ExecuteReader(CommandBehavior.CloseConnection)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.