DataTable转换json / 查询结果转json/DataTableToJson
1、Tools工具类中添加方法
C/C++ Code复制内容到剪贴板
- public string DataTableToJson(DataTable table)
- {
- var JsonString = new StringBuilder();
- if (table.Rows.Count > 0)
- {
- JsonString.Append("[");
- for (int i = 0; i < table.Rows.Count; i++)
- {
- JsonString.Append("{");
- for (int j = 0; j < table.Columns.Count; j++)
- {
- if (j < table.Columns.Count - 1)
- {
- JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\",");
- }
- else if (j == table.Columns.Count - 1)
- {
- JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\"");
- }
- }
- if (i == table.Rows.Count - 1)
- {
- JsonString.Append("}");
- }
- else
- {
- JsonString.Append("},");
- }
- }
- JsonString.Append("]");
- }
- return JsonString.ToString();
- }
2、调用:
C/C++ Code复制内容到剪贴板
- private void button1_Click(object sender, EventArgs e)
- {
- String UserId = "sa"; //sqlserver 用户名
- String UserPwd = "sa"; // sqlserver 密码
- String Database = "xuante"; // 数据库名
- String ComputerName = "DESKTOP-RGLDQK0\\SQLEXPRESS";
- String connsql = "Persist Security Info=True;User ID=" + UserId + ";Password=" + UserPwd + ";Initial Catalog=" + Database + ";Data Source=" + ComputerName;
- // String connsql = "server=" + ComputerName + ";database=" + Database + ";integrated security=SSPI"; // 数据库连接字符串,database设置为自己的数据库名,以Windows身份验证
- try
- {
- using (SqlConnection conn = new SqlConnection())
- {
- conn.ConnectionString = connsql;
- // conn.Open(); // 打开数据库连接
- String sql = "select * from UserInfo"; // 查询语句
- // 实例化适配器
- using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conn))
- {
- DataTable dt = new DataTable();// 实例化数据表
- //把数据库中的数据填充到内存表Dt中。
- //填充之前不需要打开数据库连接,Adapter会自动打开连接,并执行sql。
- adapter.Fill(dt);
- dataGridView1.DataSource = dt; // 设置到DataGridView中
- // 组合发送的数据库查询数据
- var tools = new Tools();
- string data = tools.DataTableToJson(dt);
- // 组合结束
- // conn.Close(); // 关闭数据库连接
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("错误信息:" + ex.Message, "出现错误");
- }
- }
上一篇 发送GET/POST请求
下一篇 JSON字符串解析