PDA

View Full Version : نمایش تاریخ تولد افراد در هر روز



soha_smb
جمعه 20 بهمن 1391, 15:58 عصر
با سلام
تاریخ تولد پرسنل به صورت میلادی تودیتا بیس ذخیره میشه نوع فیلد datetime و به این صورت ذخیره می شه
11/01/1982 00:00:00 حالا می خوام وقتی مدیر وارد سیستم شد لیست افرادی که تولدشون امروز و فردا هست رو بهش نشون بده.
لطفا راهنمایی کنین چطوری این کاررو انجام بدم.

saeed31641
جمعه 20 بهمن 1391, 17:25 عصر
شما تاریخ تولد از بانک بگیر با سیستم مقایسه کن اگه برابر بود تولد او فرد است

soha_smb
دوشنبه 23 بهمن 1391, 18:38 عصر
شما تاریخ تولد از بانک بگیر با سیستم مقایسه کن اگه برابر بود تولد او فرد است
من کد رو به این شکل نوشتم ولی چیزی برنمیگردونه

SearchPerson(DateTime.Today);

private void SearchPerson(DateTime date)
{
try
{
SqlConnection con = new SqlConnection(DAL.ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT [PersonCode], [BirthdayDate] FROM [Tbl_Personel] WHERE (BirthdayDate = @BirthdayDate)", con);
cmd.Parameters.AddWithValue("@BirthdayDate", date);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
con.Close();
}
catch (Exception ex)
{
}
}

meisam3322
دوشنبه 23 بهمن 1391, 23:43 عصر
خوب شما میتونین تک تک فیلدها رو بخونین و با دستور SubString مقدار تاریخ رو از ساعت جدا کنین و تاریخ رو بدست بیارین. بعد از اون با تاریخ سرور مقایسه کنین. بهتر بود قبل از شروع به کار و کد نویسی پروژه ، کل سیستم و کر خود را تحلیل می کردین و بعد پروژه رو شروع به کد نویسی می کردین. به این میگن مهندسی نرم افزار. پیشنهاد می کنم که حتما در این مورد مطالعه کنین. ولی برای شرایط شما که اگه دیگه نمیشه فیلدها رو کدهاتون رو تغییر بدین، به نظر من تنها روش شما همینه

موفق باشین

aryadad
دوشنبه 23 بهمن 1391, 23:48 عصر
DateTime.Today ساعت و دقیقه و ثانیه لحظه اجرا را بر می گرداند و با ساعت و دقیقه و ثانیه ذخیره شده شما مغایرت دارد

soha_smb
چهارشنبه 16 اسفند 1391, 21:23 عصر
من این کاررو با () DATEPART درست کردم،ولی الان یه موردی رو متوجه شدم اونم اینه که یک تاریخ در سال های مختلف در شمسی فقط سالهاش فرق می کنه ولی در میلادی اینطوری نیست !!!
http://msdn.microsoft.com/en-us/library/ms174420.aspx
مثلا اینو ببینید
1388/12/14 >>>>04/09/1981 00:00:00
1389/12/14 >>>>12/31/1982 00:00:00
1390/12/14>>>>02/03/2009 00:00:00
1391/12/14 >>>>02/04/2010 00:00:00
1392/12/14>>>>03/05/2011 00:00:00
1393/12/14>>>>03/04/2012 00:00:00
1394/12/14 >>>>03/04/2013 00:00:00
حالا به نظر شما من چطوری تاریخ تولد کسانی که در 12/14/**13 بدنیا اومدم روبدست بیارم؟

EnKamran
پنج شنبه 17 اسفند 1391, 00:30 صبح
چرا می پیچونی خودت رو؟ دو راه داری :
1- اول تاریخ های داخل دیتابیس رو به شمسی برگردون(از پرشیا استفاده کنی دیگه ساعت رو نمیده می تونم فقط تاریخ رو برگردونی) بعد با تاریخ امروز مقایسه کن اگه برابر بود تولده.
2- تاریخ تولد کاربر رو به میلادی برگردونه و با امروز مقایسه کنه اگه برابر بود تولدشه.
که قطعا راه اول معقول تره

soha_smb
جمعه 18 اسفند 1391, 14:52 عصر
توخود sql به شمسی تبدیل کنم؟؟؟؟؟
چطوری؟

aebrs@yahoo.com
جمعه 18 اسفند 1391, 22:50 عصر
من ترجیح می دهم که اینکار را سمت اس کیو ال انجام بدهم.
برای اینکار از این توابع را هم می شود استفاده کرد:

select e.name from employeeTable e where datepart(d, e.birthday) = datepart(d, getdate()) and datepart(m, e.birthday) = datepart(m, getdate())
این م همون تابع به شکل دیگر :

SELECT * FROM Employees WHERE DATEPART(d, DateOfBirth) = DATEPART(d, GETDATE()) AND DATEPART(m, DateOfBirth) = DATEPART(m, GETDATE())



امید که مفید باشد

soha_smb
سه شنبه 22 اسفند 1391, 19:10 عصر
من ترجیح می دهم که اینکار را سمت اس کیو ال انجام بدهم.
برای اینکار از این توابع را هم می شود استفاده کرد:

select e.name from employeeTable e where datepart(d, e.birthday) = datepart(d, getdate()) and datepart(m, e.birthday) = datepart(m, getdate())
این م همون تابع به شکل دیگر :

SELECT * FROM Employees WHERE DATEPART(d, DateOfBirth) = DATEPART(d, GETDATE()) AND DATEPART(m, DateOfBirth) = DATEPART(m, GETDATE())



امید که مفید باشد
ممنون
منم دقیقا از همین روش استفاده کردم ولی شما منظور رو متوجه نشدی دادا.
تاریخ هارو نگاه کن
1388/12/14 >>>>04/09/1981 00:00:00
1389/12/14 >>>>12/31/1982 00:00:00
1390/12/14>>>>02/03/2009 00:00:00
1391/12/14 >>>>02/04/2010 00:00:00
1392/12/14>>>>03/05/2011 00:00:00
1393/12/14>>>>03/04/2012 00:00:00
1394/12/14 >>>>03/04/2013 00:00:00
اینا رو چطوری چکارکنمممممممممممم!
اینو چطوری میشه استخراج کرد.

saiber89
جمعه 30 آذر 1397, 15:58 عصر
باسلام
قصد دارم در نرم افزاری که درحال نگارش آن هستم
بطور خودکار براساس تاریخ تولد رویدادی به مدیر داده بشود تا متوجه بشود امروز تولد چه کسی است
بطوریکه مدیر بتواند براساس این رویداد ها حتی کارهای شخصی خود را نیز مدیریت کند./
نکته: من نمی خوام از بانک اطلاعات استفاده کنم