C#提取数据库中日期的年份与当前日期的年份的差值

计算工龄,用C#实现,数据库字段birthday,数据类型为datetime,怎么提取数据库的年份出来,然后用当前日期的年份减去这个birthday的年份,得出工龄的方法... 计算工龄,用C#实现,数据库字段birthday,数据类型为datetime,怎么提取数据库的年份出来,然后用当前日期的年份减去这个birthday的年份,得出工龄的方法.麻烦从打开数据库开始写起,谢谢各位帮忙. 展开
 我来答
匿名用户
2013-07-24
展开全部
呵呵 偷一下懒sqlconnection con = new sqlconnection("连接字符串");int ID = 设置要查询的ID;string str = "select birthday from table where id=" + "'" + ID + "'";(如用于商用则需要使用参数话查询)con.open();sqlcommand cmd = new sqlcommand(str,con);sqldatareader dr = cmd.Ex……datareader();这里记不住了0_0;if(dr.read()){ int 工龄= datatime.now.year - (int)(dr[0].tostring()).SubString(0,4);}con.close();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-24
展开全部
我开发系统时是这样处理的,希望对你有用. DropDownList5促发事件. protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ string strid = Page.Request.QueryString["employeeid"];
String strConn = ConfigurationManager.AppSettings["SQLConnectionString"];
SqlConnection sqlconn = new SqlConnection(strConn);
sqlconn.Open();
string sqlstrshow = "select * from employee where employeeid='" + strid + "'";
SqlDataAdapter myapter = new SqlDataAdapter(sqlstrshow, sqlconn);
DataSet mydset = new DataSet();
myapter.Fill(mydset, "employee"); DataRowView mydrview = mydset.Tables["employee"].DefaultView[0]; TextBox29.Text = Convert.ToDateTime(mydrview.Row["hiredate"].ToString()).ToShortDateString();//提取数据库的入职日期}
protected void DropDownList5_SelectedIndexChanged(object sender, EventArgs e)
{
int nowmonth = System.DateTime.Now.Year * 12 + System.DateTime.Now.Month;//当前日期
int oldmonth = Convert.ToInt32(Convert.ToString(Convert.ToDateTime(TextBox29.Text).Year * 12)) + Convert.ToInt32(Convert.ToString(Convert.ToDateTime(TextBox29.Text).Month));//数据库的入职时间
Label8.Text = Convert.ToString((nowmonth - oldmonth) / 12);//工龄,月份相减取整 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-24
展开全部
sqlconnection con = new sqlconnection("连接字符串");int ID = 设置要查询的ID;string str = "select birthday from table where id=" + "'" + ID + "'";(如用于商用则需要使用参数话查询)con.open();sqlcommand cmd = new sqlcommand(str,con);sqldatareader dr = cmd.Ex……datareader();这里记不住了0_0;if(dr.read()){ datatime dt = datatime.now - datatime.parse(dr[0].tostring());}con.close();手写版,只供参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式