2010-02-19 82 views
1

我对VB.NET和JSON都是全新的,我想弄清楚如何对SQL 2005 Express服务器执行SQL查询并将返回值格式化为JSON 。我得到了使用这个(也许非常新手)代码的查询工作;通过VB.NET和JSON的SQL查询

Imports System 
Imports System.Data 
Imports System.Data.SqlClient 
Imports System.Web.UI 
Imports System.Web.UI.WebControls 

Partial Public Class SQLConnect 
Inherits System.Web.UI.Page 
'Defines SQL variables 
Dim con As New SqlConnection 
Dim cmd As New SqlCommand 
Dim dr As SqlDataReader 
Dim ReadData As String 
Dim i As Integer 


Sub Click(ByVal s As Object, ByVal e As EventArgs) 

    'Define SQL address, database, username and password 
    con.ConnectionString = "Data Source=localhost\SQLEXPRESS;Initial Catalog=tempdb;User ID=tesst;Password=test" 
    Try 
     'Initialize connection 
     con.Open() 
     'Specify SQL query 
     cmd = New SqlCommand("SELECT * FROM Member", con) 
     'Execute query, dump result array into variable 
     dr = cmd.ExecuteReader() 
     messageLabel.Text = "<br />Connection established<br />" 

     While (dr.Read) 
      i = 0 
      For i = 0 To dr.FieldCount - 1 
       'Dump query results into a variable 
       ReadData += dr.Item(i).ToString 
      Next 
     End While 

     'Print query results 
     messageLabel2.Text = ReadData 
     'Close connection 
     con.Close() 
    Catch ex As Exception 
     messageLabel.Text = "<br />Connection failed<br />" 
    End Try 


    End Sub 
End Class 

我一直在看this,我希望能看到使用这个类或任何其他好的方法一些代码示例。

任何帮助将不胜感激,任何您可能有的要点和提示。

回答

1

这很容易使用JsonResult。你可以从你的控制器调用Json()方法,并将你传递给它的对象进行JSON化,并给你一个JsonResult。因此,这里是一个简单的例子,使用您的变量:

Public Class MyController 
    Inherits Controller 

    Public Function GetDataStuff As ActionResult 
     .... 
     .... 
     Return Json(ReadData) 
    End Function 

End Class 
1

是的,你应该使用JavaScriptSerializer。除了MS的帮助网站上的例子,您可以下载asp.net mvc源代码并查看JsonResult是如何实现的。