我需要从SQL查询创建一个Json字符串。我有一些使用静态数据的基本代码。现在我需要弄清楚如何遍历DataTable行并创建我的字符串列表。
string sql = "SELECT ID, FirstName, LastName";
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mydb"].ToString());
SqlDataAdapter adapter = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
adapter.Fill(dt);
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = dt.Rows.Count,
iTotalDisplayRecords = dt.Rows.Count,
aaData = new List<string[]>() {
new string[] {"4806", "Kenneth", "Sheffield"},
new string[] {"3063", "Michael", "Harrison"},
new string[] {"4000", "Jose", "Penalosa"}
}
},
答案 0 :(得分:1)
以下文章Producing JSON Documents from SQL Server queries via TSQL涵盖了SQL Server中的此过程。
假设您有一个填充的DataTable
对象,您可以按如下方式遍历表格的行(即DataRow
个对象):
var list = new List<string[]>();
foreach(DataRow row in dt.Rows)
{
// This code sample could be collapsed further, but is not for this example.
// Additionally, this sample does not include any validation or error-checking.
string id = row["ID"].ToString();
string firstName = row["FirstName"].ToString();
string lastName = row["LastName"].ToString();
// Validation & error-checking could go here before executing the Add() method.
list.Add(new string[] {id, firstName, lastName});
}
答案 1 :(得分:0)
你可以像这样拉出数据:
foreach(DataRow row in dt.Rows)
{
var id = row["ID"].ToString();
var fname = row["FirstName"].ToString();
var lname = row["LastName"].ToString();
}