DataTable转换json / 查询结果转json/DataTableToJson
C# 2018-07-02 14:05:25

1、Tools工具类中添加方法

C/C++ Code复制内容到剪贴板
  1. public string DataTableToJson(DataTable table)  
  2. {  
  3.     var JsonString = new StringBuilder();  
  4.     if (table.Rows.Count > 0)  
  5.     {  
  6.         JsonString.Append("[");  
  7.         for (int i = 0; i < table.Rows.Count; i++)  
  8.         {  
  9.             JsonString.Append("{");  
  10.             for (int j = 0; j < table.Columns.Count; j++)  
  11.             {  
  12.                 if (j < table.Columns.Count - 1)  
  13.                 {  
  14.                     JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\",");  
  15.                 }  
  16.                 else if (j == table.Columns.Count - 1)  
  17.                 {  
  18.                     JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\"");  
  19.                 }  
  20.             }  
  21.             if (i == table.Rows.Count - 1)  
  22.             {  
  23.                 JsonString.Append("}");  
  24.             }  
  25.             else  
  26.             {  
  27.                 JsonString.Append("},");  
  28.             }  
  29.         }  
  30.         JsonString.Append("]");  
  31.     }  
  32.     return JsonString.ToString();  
  33. }  

 

 2、调用:

C/C++ Code复制内容到剪贴板
  1. private void button1_Click(object sender, EventArgs e)  
  2. {  
  3.     String UserId = "sa";   //sqlserver 用户名  
  4.     String UserPwd = "sa";  // sqlserver 密码  
  5.     String Database = "xuante"// 数据库名  
  6.     String ComputerName = "DESKTOP-RGLDQK0\\SQLEXPRESS";  
  7.   
  8.     String connsql = "Persist Security Info=True;User ID=" + UserId + ";Password=" + UserPwd + ";Initial Catalog=" + Database + ";Data Source=" + ComputerName;  
  9.     // String connsql = "server=" + ComputerName + ";database=" + Database + ";integrated security=SSPI"; // 数据库连接字符串,database设置为自己的数据库名,以Windows身份验证  
  10.     try  
  11.     {  
  12.         using (SqlConnection conn = new SqlConnection())  
  13.         {  
  14.             conn.ConnectionString = connsql;  
  15.             // conn.Open(); // 打开数据库连接  
  16.   
  17.             String sql = "select * from UserInfo"// 查询语句  
  18.   
  19.             // 实例化适配器  
  20.             using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conn))  
  21.             {  
  22.                 DataTable dt = new DataTable();// 实例化数据表  
  23.   
  24.                 //把数据库中的数据填充到内存表Dt中。  
  25.                 //填充之前不需要打开数据库连接,Adapter会自动打开连接,并执行sql。  
  26.                 adapter.Fill(dt);  
  27.                 dataGridView1.DataSource = dt; // 设置到DataGridView中  
  28.   
  29.   
  30.                 // 组合发送的数据库查询数据  
  31.                 var tools = new Tools();  
  32.                 string data = tools.DataTableToJson(dt);  
  33.                 // 组合结束  
  34.   
  35.             // conn.Close(); // 关闭数据库连接  
  36.         }  
  37.     }  
  38.     catch (Exception ex)  
  39.     {  
  40.         MessageBox.Show("错误信息:" + ex.Message, "出现错误");  
  41.     }  
  42.   
  43. }  

 

 

 

本文来自于:http://www.yoyo88.cn/study/net/330.html

Powered by yoyo苏ICP备15045725号