PDA

View Full Version : سوال: جستجو بر اساس تاریخ



Nilihome
چهارشنبه 22 دی 1395, 12:46 عصر
من برای جستجوی تاریخ در پایگاه داده ام این کد را میزنم
string searchstring = " and UserStartDate between '" + string.Format("{0:yyyy/mm/dd}", Convert.ToDateTime(calender_Az.Text)) + "' and '" + string.Format("{0:yyyy/mm/dd}", Convert.ToDateTime(Calender_ta.Text)) + "' And userActive =1";
اما خروجی برنامه ماه های تاریخ را 00 میکنه که همین باعث میشه نتونم سرچ کنم.
میشه مشکلو بگید از چی هست؟

mr.sirwan
چهارشنبه 22 دی 1395, 13:07 عصر
من برای جستجوی تاریخ در پایگاه داده ام این کد را میزنم
string searchstring = " and UserStartDate between '" + string.Format("{0:yyyy/mm/dd}", Convert.ToDateTime(calender_Az.Text)) + "' and '" + string.Format("{0:yyyy/mm/dd}", Convert.ToDateTime(Calender_ta.Text)) + "' And userActive =1";
اما خروجی برنامه ماه های تاریخ را 00 میکنه که همین باعث میشه نتونم سرچ کنم.
میشه مشکلو بگید از چی هست؟

mm برای دقیقه استفاده میشه، شما باید از MM برای ماه استفاده کنین

Nilihome
چهارشنبه 22 دی 1395, 14:17 عصر
mm برای دقیقه استفاده میشه، شما باید از MM برای ماه استفاده کنین

بله درست شدمتشکرم
اما الان که در خود بر نامه تاریخ هارو که عوض میکنم و دکمه سرچو میزنم عملیات انجام نمیده ولی زمانیکه یک کلیک روی دیتا گرید ویو میزنم و بعدش جستجو را میزنم جستجو را انجام میده
علت این چه میتونه باشه؟

mr.sirwan
چهارشنبه 22 دی 1395, 18:10 عصر
لطفا کداتونو قرار بدین، اینجوری نمیشه نظری داد

Nilihome
چهارشنبه 22 دی 1395, 19:39 عصر
کدها این است سورسشو فرستادم




public partial class win_users : Window
{
public win_users()
{
InitializeComponent();
}
/// <summary>
/// رابط دیتابیس
/// </summary> رابط دیتابیس
forooshEntities database = new forooshEntities();
private void Rectangle_MouseDown(object sender, MouseButtonEventArgs e)
{
this.DragMove();
}


private void Window_Loaded(object sender, RoutedEventArgs e)
{
/*var query = from u in database.Vw_users select u;
var user = query.ToList();
dataGrid_user.ItemsSource = user;*/
ShowUserInfo(SearchStatment);

}

/// <summary>
/// متد ارتباط با پایگاه داده ونمایش دیتا گرید
/// </summary>
/// <param name="SearchStringForUsers"></param>
////// متد ارتباط با پایگاه داده ونمایش دیتا گرید
private void ShowUserInfo(Func<string> SearchStringForUsers)
{
var query = database.Database.SqlQuery<Vw_users>("select * from Vw_users where 1=1" +SearchStringForUsers());
// MessageBox.Show(query.ToString());
var u = query.ToList();
dataGrid_user.ItemsSource = u;
}
/// <summary>
/// تابع ساخت شرط برای نمایش اطلاعات در دیتا گرید
/// </summary>
/// <returns>تابع ساخت شرط برای نمایش اطلاعات در دیتا گرید</returns>
private string SearchStatment()
{
string searchstring = " and UserStartDate between '" + string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(calender_Az.Text)) + "' and '" + string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(Calender_ta.Text)) + "'";

if (txt_name.Text != "")
{
searchstring += " and userName Like '%" + txt_name.Text.Trim() + "%'";
}
if(Txt_Family.Text != "")
{
searchstring += " and userFamily Like '%" + Txt_Family.Text.Trim() + "%'";
}
if (! string.IsNullOrEmpty( txt_tel.Text.Trim()))
{
searchstring += " and userTel Like '%" + txt_tel.Text.Trim() + "%'";
}
if (Rdb_deactive.IsChecked == true)
{
searchstring += " And userActive =2 ";
}
else
{
searchstring += " And userActive =1 ";
}
return searchstring;
}


private void image1_MouseDown(object sender, MouseButtonEventArgs e)
{
this.Close();
}


private void image2_MouseDown(object sender, MouseButtonEventArgs e)
{
ShowUserInfo(SearchStatment);
}


private void txt_name_TextChanged(object sender, TextChangedEventArgs e)
{
image2_MouseDown(null, null);
}


private void Txt_Family_TextChanged(object sender, TextChangedEventArgs e)
{
image2_MouseDown(null, null);
}


private void txt_tel_TextChanged(object sender, TextChangedEventArgs e)
{
image2_MouseDown(null, null);
}


private void Rdb_deactive_Checked(object sender, RoutedEventArgs e)
{
image2_MouseDown(null, null);
}


private void Rdb_Active_Checked(object sender, RoutedEventArgs e)
{
// image2_MouseDown(null, null);

}