0

这是我正在使用的内容:

Dim connstr = "data source=mydatasource;initial catalog=gcs_dw;persist security   info=True;user id=myuser;password=mypassword;Asynchronous Processing=True"
Dim sqlquery = "SELECT * FROM Customer WHERE CITY = 'Anytown'"
Dim connection As SqlConnection = New SqlConnection(connstr)
connection.Open()

Dim command As SqlCommand = connection.CreateCommand()
command.CommandText = sqlquery
Dim reader As SqlDataReader = command.ExecuteReader()
reader.Read()
Console.WriteLine(reader.ToString)
connection.Close()
Console.Read()

如您所见,我正在尝试将查询结果显示到命令行,目前它显示的只是“System.Data.SqlClient.SqlDataReader”。我的 sql 查询的结果在哪里,为什么我不能检索它们?

4

2 回答 2

5

这就是问题:

Console.WriteLine(reader.ToString)

ToString直接调用阅读器,而不是从当前行中询问特定值。就像是:

Console.WriteLine(reader.GetString(0))

应该没事。

于 2012-04-27T16:10:00.530 回答
0
Dim str As String

Dim myConn As SqlConnection = New SqlConnection("Server=(local)\netsdk;" & _
                                                "uid=sa;pwd=;database=master")

str = "CREATE DATABASE MyDatabase ON PRIMARY " & _
      "(NAME = MyDatabase_Data, " & _
      " FILENAME = 'D:\MyFolder\MyDatabaseData.mdf', " & _
      " SIZE = 2MB, " & _
      " MAXSIZE = 10MB, " & _
      " FILEGROWTH = 10%) " & _
      " LOG ON " & _
      "(NAME = MyDatabase_Log, " & _
      " FILENAME = 'D:\MyFolder\MyDatabaseLog.ldf', " & _
      " SIZE = 1MB, " & _
      " MAXSIZE = 5MB, " & _
      " FILEGROWTH = 10%) "

Dim myCommand As SqlCommand = New SqlCommand(str, myConn)

Try
    myConn.Open()
    myCommand.ExecuteNonQuery()
    MessageBox.Show("Database is created successfully", _
                    "MyProgram", MessageBoxButtons.OK, _
                     MessageBoxIcon.Information)
   Catch ex As Exception
       MessageBox.Show(ex.ToString())
   Finally
       If (myConn.State = ConnectionState.Open) Then
           myConn.Close()
       End If
   End Try

结束子

于 2013-03-21T10:33:01.047 回答