【问题标题】:Need help taking the results of a SQL select statment and outting them into a gridview [closed]需要帮助获取 SQL 选择语句的结果并将它们放入 gridview [关闭]
【发布时间】:2013-05-08 12:58:21
【问题描述】:
try
        {
            SqlCommand cmd = new SqlCommand(SELECT [Name], COUNT([Name]) AS Count FROM [DelegationTracker] WHERE [Date] = @Date GROUP BY [Name], Connection);Conn);
             SqlCommand cmd = new SqlCommand(SELECT @User_Tested FROM WHMIS_User_Tests;, Connct);
            cmd.Parameters.Clear();
            cmd.Parameters.Add(@Name, SqlDbType.VarChar).Value = HttpContext.Current.Session[Name].ToString();
            cmd.Parameters.Add(@Date, SqlDbType.VarChar).Value = Date;MMDDYYYY
             cmd.Parameters.Add(@Grade, SqlDbType.VarChar).Value = null;
            Connection.Open();

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    test = reader.GetValue(0).ToString();
                    test2 = reader.GetValue(1).ToString();
                }

            }

            SqlDataReader dr = cmd.ExecuteReader();
            SqlDataAdapter Adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            dt.Load(dr);
            Adapter.Fill(dt);
             DataSet ds = new DataSet();
            Adapter.Fill(ds);
            MainGridView.DataSource = dt;
            MainGridView.DataSource = ds;
            MainGridView.DataBind();
            Connection.Close();
            return true;
}

gridview 不显示即时消息,因为它没有数据,并且 DataTable 返回 SQL 表中的第 1 条记录,但不显示它(在 gridview 中)据我所知,数据集没有返回任何内容

我有这么多适配器、数据集和数据表的原因是我正在测试什么是有效的,但没有一个产生任何结果......

【问题讨论】:

  • 你检查过DataTable和DataSet不为空吗?
  • 您有实际问题吗?您在填充网格视图时遇到了哪些具体问题?
  • gridview 不显示即时消息,因为它没有数据,并且 DataTable 返回 SQL 表中的第 1 条记录,但据我所知,不显示它(在 gridview 中)数据集什么都不返回
  • 您已将 gridview 数据源设置了两次,第二次设置为“ds”。那将覆盖“ds”作为gridview的数据源,而不是“dt”。这可能是原因。

标签: c# asp.net sql


【解决方案1】:

我不太确定您的示例代码中发生了什么。看起来您几乎采用了两种不同的方法并将它们混在一起。这是一个简单的方法,或者使用您提供的两个 SQL 查询之一加载 DataGrid。

private void LoadDataGrid(DataGrid dataGrid, DateTime date, string connectionString) 
{
    using (var conn = new SqlConnection(connectionString)) 
    {
        using (SqlCommand cmd = conn.CreateCommand()) 
        {
            cmd.Parameters.Add(new SqlParameter {
                ParameterName = "@Date",
                SqlDbType = SqlDbType.DateTime,
                Value = date
            });
            cmd.CommandText = "SELECT [Name], " +
                              "       COUNT([Name]) AS Count " +
                              "FROM   [DelegationTracker] " +
                              "WHERE  [Date] = @Date " +
                              "GROUP  BY [Name]";

            conn.Open();
            try 
            {
                using (SqlDataReader reader = cmd.ExecuteReader()) 
                {
                    dataGrid.DataSource = reader;
                    dataGrid.DataBind();
                }
            }
            finally 
            {
                conn.Close();
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    相关资源
    最近更新 更多