用VB.NET连接到SQLServer

时间:2014-07-06 21:48:12

标签: sql-server vb.net

当我尝试连接到SQL服务器时遇到问题,我的try-catch块出错:

Incorrect syntax near '='

这是我的整个代码

Try

    ' Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;


    myConn = New SqlConnection("Initial Catalog=test;" & _
            "Data Source=SWAT\SQLEXPRESS;Integrated Security=SSPI;")



    'Create a Command object.
    myCmd = myConn.CreateCommand

    myCmd.CommandText = "SELECT name " & _
            "FROM clients " & _
            "WHERE idClient = 1"



    'Open the connection.
    myConn.Open()

    '  myReader = myCmd.ExecuteReader()

    Using myReader = myCmd.ExecuteReader
        While myReader.Read
            strServer = myReader.Item("name")
        End While
    End Using



    'Display results.
    MsgBox(strServer)

    'Close the reader and the database connection.
    myReader.Close()
    myConn.Close()

Catch ex As Exception
    MsgBox("Error: " + ex.Message)


End Try

我做了一些调试,但我仍然不明白我做错了什么。 enter image description here

我已经测试了我与Server explorer的连接,但它确实有效。 enter image description here

我真的需要一些帮助,我之前已经连接到easyPHPSql中的数据库而没有任何问题,除了我指定连接参数的部分之外,我一直在使用几乎相同的代码。

我已经阅读了这篇文章,并从这里应用了大部分代码: http://support.microsoft.com/kb/308656#top 提前致谢

1 个答案:

答案 0 :(得分:3)

您在WHERE之前(或在表名之后)缺少空格

  myCmd.CommandText = "SELECT name " & _
                      "FROM clients " & _
                      "WHERE idClient = 1"

但是,SqlDataReader循环中还有另一个错误 在您的查询中,您只检索列name,但在循环中,您尝试读取两列(GetString),索引0(它是名称列)和索引1但是您没有SELECT子句中的第二列。