在asp.net中超出范围

时间:2015-01-02 07:41:06

标签: asp.net sql-server gridview

我有一个数据库,我以DD / MM / YYYY格式保存日期。 当我在我的应用程序中运行查询

SelectCommand="SELECT * FROM [numbers] ORDER BY CONVERT(DateTime, Date_, 103) DESC"

我超出了范围错误 我的数据表有像(Date_ varchar(200),number varchar(200))的列 但我有类似的表与类似的列表名是数字 当我运行相同的查询时

SelectCommand="SELECT * FROM [number] ORDER BY CONVERT(DateTime, Date_, 103) DESC"

我得到了理想的结果。 所以告诉我第一次查询有什么问题。 还有一个问题 我想在网格视图中逐月显示结果。 那么表格格式是什么,以便我可以在其中输入日期数据。 喜欢

月份编号月份编号月份编号月份编号

2015年1月1日10 1/2/2015 2015年1月3日50 ...等等2015年1月12日40

2/1/2015 15 2/2/2015 25 2/3/2015 55 ...依此类推2015年2月12日67

3/1/2015 20 3/2/2015 30 3/3/2015 60 ...依此类推2015年3月12日76

这里结果只是过去三个月 假设最新月份是12月,那么只有10月,11月,12月 txs提前

1 个答案:

答案 0 :(得分:0)

CONVERT()函数是一个将一种数据类型的表达式转换为另一种数据类型的通用函数。

在你提出的问题中,你说你有一个数据库,你想要存储来自该程序的日期,那么最好的想法就是将你的列名的数据类型更改为Date。 然后从您的.cs代码

//查询      string strnewqry =“SELECT * FROM numbers”;

//构建数据表

 DataTable datatablename=BuildDT(strnewqry);

//逐行检查数据表

foreach (DataRow row in datatablename.Rows)
          {





string date1 = Convert.ToString(row["Columnnameofcorresponding field"]);

//如果您想按月显示详细信息,请浏览this,然后获取月份值,然后按照自己的方式显示..

 }

//你的BuildDT功能............

public DataTable BuildDT(string sql)
        {
            openConnection();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(sql, connection);
            da.Fill(dt);
            closeConnection();
            return dt;
        }