我在某些Visual Basic代码中遇到了一些问题虽然我已经声明了一个变量,但当我尝试给它一个值时,Visual Studio会返回一个错误,说明该变量尚未声明。这是代码块:
Private Sub chkbox_ta_CheckedChanged(sender As Object, e As EventArgs) Handles chkbox_ta.CheckedChanged
Dim query As String = "SELECT * FROM [Hiragana List] WHERE Pronunciation='Ta';"
Dim instruction As SqlCommand (query, connection)
Dim da As New SqlDataAdapter
da.SelectCommand = instruction
da.Fill(HiraganaList)
End Sub
'instruction'变量引发了错误,Visual Studio没有提供任何解决方案。除此之外,指令变量中的查询参数返回错误'数组边界不能出现在类型说明符中'。我仍然习惯于在VB中使用SQL,任何能够教会我如何避免这些错误的解释都会非常有用。
答案 0 :(得分:3)
SqlCommand声明和初始化中的语法错误 正确的语法是以下之一:
Dim instruction As SqlCommand = new SqlCommand(query, connection)
或
Dim instruction As New SqlCommand (query, connection)
或只是
Dim instruction = new SqlCommand(query, connection)
Dim Statement有许多变化应该仔细研究(特别是在语言的早期阶段)
答案 1 :(得分:1)
数据类型(字符串,整数,日期)不需要“新”声明。 但是当你定义一个类的东西(比如SqlCommand或你自己创建的那个)时,它需要用“new”初始化。
史蒂夫早期帖子中的语法示例
Dim instruction As SqlCommand = new SqlCommand(query, connection)
Dim instruction As New SqlCommand (query, connection)
Dim instruction = new SqlCommand(query, connection)
一些可能有用的链接:
http://msdn.microsoft.com/en-us/library/47zceaw7.aspx
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand%28v=vs.110%29.aspx