在asp.net中超出范围
我有一个以DD/MM/YYYY格式保存日期的数据库。 当我在我的应用程序中运行一个查询时在asp.net中超出范围,asp.net,sql-server,gridview,Asp.net,Sql Server,Gridview,我有一个以DD/MM/YYYY格式保存日期的数据库。 当我在我的应用程序中运行一个查询时 SelectCommand="SELECT * FROM [numbers] ORDER BY CONVERT(DateTime, Date_, 103) DESC" 我的错误超出了范围 我的数据表有如下列(Date_uuvarchar(200),number varchar(200)) 但是我有一个类似的表,表名是number 当我运行相同的查询时 SelectCommand="SELECT * FRO
SelectCommand="SELECT * FROM [numbers] ORDER BY CONVERT(DateTime, Date_, 103) DESC"
我的错误超出了范围
我的数据表有如下列(Date_uuvarchar(200),number varchar(200))
但是我有一个类似的表,表名是number
当我运行相同的查询时
SelectCommand="SELECT * FROM [number] ORDER BY CONVERT(DateTime, Date_, 103) DESC"
我正在得到期望的结果。
所以,请告诉我第一个查询中的错误。
还有一个问题
我想在网格视图中按月显示结果。
那么什么是可能的表格格式,以便我可以在其中输入日期数据。
像
月数月数月数月数月数
2015年1月1日10 2015年1月2日20 2015年1月3日50。。。等等2015年1月12日40
2015年2月1日15 2015年2月2日25 2015年2月3日55…等等2015年2月12日67
2015年3月1日20 2015年3月2日30 2015年3月3日60…等等2015年3月12日76
这里的结果只能是过去三个月的结果
假设最新月份为12月,则仅为10月、11月、12月
txs预先CONVERT()函数是将一种数据类型的表达式转换为另一种数据类型的通用函数
在你的问题中,你说你有一个数据库,你想从程序中存储日期,那么最好的办法是将列名的数据类型更改为日期。
然后从你的.cs代码
//质疑
字符串strnewqry=“从数字中选择*”
//构建数据表
DataTable datatablename=BuildDT(strnewqry);
//在数据表中逐行检查
foreach (DataRow row in datatablename.Rows)
{
string date1 = Convert.ToString(row["Columnnameofcorresponding field"]);
//如果你想以月为单位来展示细节,那么就看一看,然后拿你的月值,然后像你自己的方式来展示
}
//您的BuildDT函数
public DataTable BuildDT(string sql)
{
openConnection();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(sql, connection);
da.Fill(dt);
closeConnection();
return dt;
}
请格式化您的问题。如果这两个表在日期列中包含相同的数据集?请按转换顺序从[数字]中选择*(日期时间,日期,101)DESC显示相同的错误SQL Server日期范围==>1753年1月1日至12月31日,9999某处,日期字段中的数据低于或低于所述值,这就是超出范围错误的原因。请在数据库中以mmddyyyy格式存储日期。实际问题是当您使用convert(DateTime,…)函数时。它考虑MMDYYYY格式的源数据。如果您想勾选,则添加所有月份和日期小于12的日期(即1-1-2015、2-2-2015)。你的代码会工作的。