我用的时间插件:my97,有两个input都是那种Run="server"的模式。现在做了输出测试KS的结果是:
"2010-08-31",我数据库里数据格式是:"2010-8-24 10:58:35"。
我用的datediff控制但是现在选择其他日期会返回:"没有相关赠奖记录!"
查询语句是"select * from zj_leiji_mingxi where datediff(d,'"+ks+"',input_time)=0";
如果选中了2010-8-24这天就不出::"没有相关赠奖记录!" 但是也不会输出这一条数据。
如果去掉查询条件:"select * from zj_leiji_mingxi";"
输出就没有任何问题。
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]);
string cx_qc = qc.Text;
string cx_sp = sp.Text;
string ks = ksrq.Value;
string jz = jzrq.Value;
string sql = "select * from zj_leiji_mingxi where datediff(d,'"+ks+"',input_time)=0";
SqlCommand command = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader rs = command.ExecuteReader();
if (rs.HasRows && rs.Read())
{
while (rs.Read())
{
Response.Write("赠奖组别:" + rs["input_time"] );
}
}
else
{
Response.Write("没有相关赠奖记录!");
}
}
}
"2010-08-31",我数据库里数据格式是:"2010-8-24 10:58:35"。
我用的datediff控制但是现在选择其他日期会返回:"没有相关赠奖记录!"
查询语句是"select * from zj_leiji_mingxi where datediff(d,'"+ks+"',input_time)=0";
如果选中了2010-8-24这天就不出::"没有相关赠奖记录!" 但是也不会输出这一条数据。
如果去掉查询条件:"select * from zj_leiji_mingxi";"
输出就没有任何问题。
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]);
string cx_qc = qc.Text;
string cx_sp = sp.Text;
string ks = ksrq.Value;
string jz = jzrq.Value;
string sql = "select * from zj_leiji_mingxi where datediff(d,'"+ks+"',input_time)=0";
SqlCommand command = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader rs = command.ExecuteReader();
if (rs.HasRows && rs.Read())
{
while (rs.Read())
{
Response.Write("赠奖组别:" + rs["input_time"] );
}
}
else
{
Response.Write("没有相关赠奖记录!");
}
}
}
sql = "查询语句 where 1=1 "判断有没选择开始日期,有则
sql += and 表日期字段 > 开始日期.AddDays(-1) 判断有没选择结束日期,有则
sql += and 表日期字段 < 结束日期.AddDays(1)
string ks = ksrq.Value;这句换成 =>
string ks=DateTime.ParseExact( ksrq.Value, "yyyy-MM-dd HH:mm:ss", null ).ToString();
肯定是这里出错了,datediff 的参数有问题,下面两个之一可解决这个问题:1. d 改成 dd 或者 day 试一试2. '"+ks+"' 改成 cast('"+ ks.tostring().trim() +"' as datetime)
rs.hasrows&&rs.read()
改成
rs.hasrows
就好了