Wie kann man das aktuelle Ergebnis von SQL server-data in der HTML-Seite mit Web Service anzeigen?

Ich benutze das untenstehende memoryverfahren.

declare @body varchar(max) set @body = cast( ( select td = cast( iVoucher_Type_id as varchar(30)) + '</td><td>' + cast( cVoucher_Type as varchar(30)) + '</td><td>' + cast( dVoucher_date as varchar(30)) from ( select iVoucher_Type_id, cVoucher_Type, dVoucher_date from master.dbo.Mast_Voucher_Type ) as d for xml path( 'tr' ), type ) as varchar(max) ) set @body = '<tr><th>Voucher Type ID</th><th>Voucher Type</th><th>Voucher Date</th></tr>' + replace( replace( @body, '&lt;', '<' ), '&gt;', '>' ) print @body 

In diesem gibt es das Ergebnis wie unten Format

 <tr> <th>Voucher Type ID</th> <th>Voucher Type</th> <th>Voucher Date</th> </tr> <tr> <td>1</td> <td>test 1</td> <td>Mar 27 2016 4:08PM</td> </tr> 

Ich benutze unter Web Service Code. Wie kann ich die gleiche Ausgabe im Web Service anzeigen? In diesem Web-Service-Ausgabe funktioniert nicht seine Shows leer [].

 [WebMethod()] public string Getdataset(string strQuery, string strCon) { DataTable dt = new DataTable(); using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection()) { conn.ConnectionString = System.Configuration.ConfigurationManager.AppSettings["BB_CONSTR"]; using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand()) { cmd.CommandText = strQuery; cmd.Connection = conn; conn.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); Dictionary<string, object> row = default(Dictionary<string, object>); foreach (DataRow dr in dt.Rows) { row = new Dictionary<string, object>(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, dr[col]); } rows.Add(row); } return serializer.Serialize(rows); } } } 

Benötigen Sie Web-Service, um die genaue Ausgabe des SQL-servers anzuzeigen (ohne Serialize oder ändern Sie den Code).

printing ausdrucken mit Auswahl:

 declare @body varchar(max) set @body = cast( ( select td = cast( iVoucher_Type_id as varchar(30)) + '</td><td>' + cast( cVoucher_Type as varchar(30)) + '</td><td>' + cast( dVoucher_date as varchar(30)) from ( select iVoucher_Type_id, cVoucher_Type, dVoucher_date from master.dbo.Mast_Voucher_Type ) as d for xml path( 'tr' ), type ) as varchar(max) ) set @body = '<tr><th>Voucher Type ID</th><th>Voucher Type</th><th>Voucher Date</th></tr>' + replace( replace( @body, '&lt;', '<' ), '&gt;', '>' ) SELECT @body 

Rückgabe ohne Serialisierung

 [WebMethod()] public string Getdataset(string strQuery, string strCon) { string connStr = System.Configuration.ConfigurationManager.AppSettings["BB_CONSTR"]; using (SqlConnection conn = new SqlConnection(connStr)) { SqlCommand cmd = new SqlCommand() cmd.CommandText = strQuery; cmd.Connection = conn; conn.Open(); object result = cmd.ExecuteScalar(); if (result == DBNull.Value) throw new ApplicationException("Oh no"); return result.ToString(); } }