循环比较的方法,求高手解答,在线等
SqlConnection conn = new SqlConnection();conn = new SqlConnection();
conn.ConnectionString = "Data Source=(local);Initial Catalog=YYCL_CRM;UID=sa;Password=sa";
conn.Open();
string strsql = "select T_DateTime from T_UserInfo";
SqlCommand cmd = new SqlCommand(strsql, conn);
SqlDataReader sqlreader = cmd.ExecuteReader();
while (sqlreader.Read())
{
TextBox1.Text = sqlreader["T_DateTime"].ToString();
}
sqlreader.Close();
conn.Close();
T_DateTime 这个数据库里是datetime类型,我想实现如果日期和今天比较超过60天,这张表里“TXT”这个字段就由0变成1.
求高手解答,在线等 --------------------编程问答-------------------- 没人在吗? --------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- TimeSpan tsCount = time1.Subtract(time2);//两时间之差
--------------------编程问答-------------------- 高人在何方啊 --------------------编程问答-------------------- 为什么不用sql来实现呢
SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate//结果为1
--------------------编程问答-------------------- while (sqlreader.Read())
{
DateTime date = (DateTime)sqlreader["T_DateTime"];
if((date - System.DateTime.Now).Total****>=60)
{
textbox1.text="1";
}
break;
}
--------------------编程问答-------------------- 这个要实现的是,如果数据库里有日期超过60天的数据。TXT就由0变成1 --------------------编程问答--------------------
SELECT DATEDIFF(day,T_DateTime,GetDate()) AS DiffDate
读出来大于60就设置txt字段
其实你也写个存储过程来实现 --------------------编程问答--------------------
SELECT DATEDIFF(day,T_DateTime,GetDate()) AS DiffDate
这个应该怎么放到程序里,我没看太明白 --------------------编程问答-------------------- 加入数据库里有这样几条数据
id time txt
1 2010-1-10 0
2 2012-3-5 1
3 2010-5-10 0
4 2012-9-5 0
我想实现的是,通过一个方法,自动检测到日期超过60天的数据,TXT自动变成1,如果没超过还是0 --------------------编程问答--------------------
sql语句啊
string strsql = "SELECT DATEDIFF(day,(select T_DateTime from T_UserInfo) T_DateTime ,GetDate()) AS DiffDate";
试试把 --------------------编程问答-------------------- SELECT case when DATEDIFF(day,T_DateTime,GetDate())>60 then '1' else '0' end --------------------编程问答-------------------- 这么写不行啊 --------------------编程问答-------------------- 如果写存储过程的话,是怎么写 --------------------编程问答--------------------
自己到数据库查询分析器里面去试一试 --------------------编程问答-------------------- 数据库里有这样几条数据
id time txt
1 2010-1-10 0
2 2012-3-5 1
3 2010-5-10 0
4 2012-9-5 0
我想实现的是,通过一个方法,自动检测到日期超过60天的数据,TXT字段里的数据自动变成1,如果没超过还是0
--------------------编程问答-------------------- 头疼啊 --------------------编程问答-------------------- 没积分发帖了,高手看见针对的解决一下 --------------------编程问答-------------------- 你是想修改数据表里的数据吗?那只要在程序里执行“update T_UserInfo set TXT = 1 where datediff(day,[time],GETDATE())>60 or datediff(day,[time],GETDATE()) <-60” 就行;如果你是想显示数据,那查询语句可以改成“select ID,[TIME],CAST WHEN datediff(day,[time],GETDATE())>60 or datediff(day,[time],GETDATE()) <-60 THEN 1 ELSE 0 AS TXT * from T_UserInfo”。 --------------------编程问答-------------------- SQL:datediff(dd,getdate(),cast((case YourDate when null then '1900-01-01' else YourDate end) as datetime))>0 --------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- //读取值 表tb
TimeSpan t1, t2, t3;
int n;
//循环数据
foreach (DataRow nR in tb.Rows)
{
t1 = new TimeSpan(Convert.ToDateTime("2012-02-10").Ticks);
t2 = new TimeSpan(DateTime.Now.Ticks);
t3 = t2.Subtract(t1);
n = t3.Days;
if(n>=60)
{
//更改TXT值
}
} --------------------编程问答-------------------- 这个工具必须人手一份 --------------------编程问答-------------------- 为什么不直接写个语句更新?
update table set Txt=1 where datediff(dd,T_DateTime,getdate())>60--------------------编程问答--------------------
我觉得LZ用这种比较合适啊,与当前时间比较下在判断
补充:.NET技术 , ASP.NET