在c#中的数据表中显示数据库表数据,但数据表为空

时间:2017-06-14 06:19:15

标签: c# gridview datatable

我有GridView。我正在尝试使用DataTable将数据库表数据显示到网格中。所以我将查询结果保存在DataTable中,但不显示数据。这是我的代码。请帮忙。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {        
        DataTable dataTable = new DataTable();
        string constr = ConfigurationManager.ConnectionStrings["gridconnection"].ConnectionString;

        string query = "select * from GridExcel";

        SqlConnection con1 = new SqlConnection(constr);
        SqlCommand cmd = new SqlCommand(query, con1);
        con1.Open();

        // create data adapter
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        // this will query your database and return the result to your 
        datatable
        da.Fill(dataTable);
        Gridview1.DataSource = dataTable;
        Gridview1.DataBind();
        ViewState["CurrentTable"] = dataTable;
        con1.Close();
    }
}

2 个答案:

答案 0 :(得分:0)

尝试使用DataReader:

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {

    DataTable dataTable = new DataTable();
    string constr =      ConfigurationManager.ConnectionStrings["gridconnection"].ConnectionString;

    string query = "select * from GridExcel";

    SqlConnection con1 = new SqlConnection(constr);
    SqlCommand cmd = new SqlCommand(query, con1);
    con1.Open();

    // create data adapter
    SqlDataReader reader = cmd.ExecuteReader();
    // this will query your database and return the result to your datatable
    dataTable.Load(reader);
    Gridview1.DataSource = dataTable;
    Gridview1.DataBind();
    ViewState["CurrentTable"] = dataTable;
    con1.Close();
  }
}

答案 1 :(得分:0)

以下代码适用于我。

string constring = @"Data Source=.\SQL2005;Initial Catalog=gridconnection;";
    using (SqlConnection con = new SqlConnection(constring))
    {
        using (SqlCommand cmd = new SqlCommand("select * from GridExcel", con))
        {
            cmd.CommandType = CommandType.Text;
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                using (DataTable dt = new DataTable())
                {
                    da.Fill(dt);
                    dataGridView1.DataSource = dt;
                }
            }
        }
    }
相关问题