c# - 如何用SQL Table填充DataTable

标签 c# .net sql datatable

我目前正在使用 Page_Load 中的以下代码创建和读取数据表

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["AllFeatures1"] == null)
    {
        Session["AllFeatures1"] = GetData();
    }
    table = (DataTable)Session["AllFeatures1"];
    DayPilotCalendar1.DataSource = Session["AllFeatures1"];
    DayPilotNavigator1.DataSource = Session["AllFeatures1"];

    if (!IsPostBack)
    {
        DataBind();
        DayPilotCalendar1.UpdateWithMessage("Welcome!");
    }

    if (User.Identity.Name != "")
    {
        Panel1.Visible = true;
    }
}

我想知道如何转换这段代码以便它从 SQL 查询中读取?我正在试验下面的代码,但我不确定如何连接它们,以便我的页面加载中的数据表填充下面的 SQL 命令。

SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["BarManConnectionString"].ConnectionString);
conn.Open();
string query = "SELECT * FROM [EventOne]";

SqlCommand cmd = new SqlCommand(query, conn);

DataTable t1 = new DataTable();
using (SqlDataAdapter a = new SqlDataAdapter(cmd))
{
    a.Fill(t1);
}

我被困在:

table = (DataTable)Session["AllFeatures1"]; 

我希望它是 t1 = (DataTable)Session["AllFeatures1];

最佳答案

SqlDataReaderDataTable 的有效数据源。因此,您需要做的就是:

public DataTable GetData()
{
    SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["BarManConnectionString"].ConnectionString);
    conn.Open();
    string query = "SELECT * FROM [EventOne]";
    SqlCommand cmd = new SqlCommand(query, conn);

    DataTable dt = new DataTable();
    dt.Load(cmd.ExecuteReader());
    conn.Close();
    return dt;
}

关于c# - 如何用SQL Table填充DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993211/

相关文章:

javascript - 为什么记录记录器/webBot 在刷新网页后会存储之前对话的事件?

c# - AutoMapper 配置为所有 DateTime 属性使用本地时间

mysql - 在具有 2 个表的多个并集的 SQL 中通过 rand() 对记录进行排序

.net - 编码(marshal)委托(delegate)给 std::function

c# - 远程服务器返回错误 : (550) File unavailable(Error occured on making ftp directory)

mysql - 重叠的时间间隔

sql - 在 where 子句中使用 select 子句中的列号。提取别名原始名称

c# - Windows Universal App 如何读取共享项目下的项目文件?

c# - 是否可以隐藏(而不是删除)PivotItem?

c# - 以最小的延迟快速显示非常高分辨率图像的缩略图