I use <ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
to automatically format what I Return
as json formatted output.
However, I think I'm doing more than necessary because I first dump the contents of a DataSet
into a Dictionary
, and I Return
the Dictionary
.
If I used aliases on the columns and wanted to output all columns, is there a way to simply Return
the DataSet
like I can with the Dictionary
? If not, how can I do this with as few lines as possible?
Dim conn As New SqlConnection
conn.ConnectionString = Module1.DBConn2
Dim sqlCommand = New SqlCommand("Select id, column1, column2... From table1", conn)
conn.Open()
Dim sqlDataset As DataSet = New DataSet()
Dim sqlDataAdapter As SqlDataAdapter = New SqlDataAdapter(sqlCommand)
sqlDataAdapter.Fill(sqlDataset)
conn.Close()
Dim jsonDict(sqlDataset.Tables(0).Rows.Count - 1) As Dictionary(Of Object, Object)
Dim i As Integer = 0
For Each rs As DataRow In sqlDataset.Tables(0).Rows
jsonDict(i) = New Dictionary(Of Object, Object)
jsonDict(i).Add("id", rs.Field(Of Object)("id"))
jsonDict(i).Add("column1", rs.Field(Of Object)("column1"))
jsonDict(i).Add("column2", rs.Field(Of Object)("column2"))
...
i = i + 1
Next
Return jsonDict