/// <summary>
/// 根据SQL生成DataTable
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GenerateTable(string sql)
{
string conDB = ConfigurationManager.ConnectionStrings["SQLConnet"].ToString();
SqlConnection Conn = new SqlConnection(conDB);
Conn.Open();
SqlCommand com = new SqlCommand(sql, Conn);
SqlDataReader dr = com.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
Conn.Close();
return dt;
}
解读:
第一步:找到数据库对应链接。
第二步:根据链接初始化数据库。
第三步:打开数据库。
第四步:根据sql和数据库,初始化数据库命令。
第五步:执行数据库命令。
第六步:创建一个Datatable dt ,将得到的数据Load到dt中,即得到了Datatable 。
第七步:关闭数据库。
返回dt。
生成DataTable列头:
第一种方式:在SQL中直接 as 成中文列头。
第二种方式:在生成了Datatable之后,将列头进行设置:
DataTable dt = new DataTable();
dt = CommonHelper.GenerateTable(sql);
dt.Columns["UserName"].ColumnName = "用户名";
dt.Columns["Sex"].ColumnName = "性别";
dt.Columns["Age"].ColumnName = "年龄";
dt.Columns["Phone"].ColumnName = "电话";
这样就是完整的根据sql生成Datatable。