PDA

View Full Version : سوال: عدم جستجوی ترکیبی به هنگام جستجوی تاریخ



mahan0o0
دوشنبه 17 فروردین 1394, 12:12 عصر
سلام دوستان.
من یک فرم جستجوی ترکیبی دارم که چند تا textbox واسه نام و اطلاعات شخصی رو جستجو کردن دارم و نیز mask واسه تاریخ دارم. جستجوم به این صورته که مثلا اگه کاربر حرف اول اسمش و حرف اول شهرش رو بزنه میره از توی جدول اطلاعات رکوردهایی رو میاره که با این حرفها شروع بشن و میخوام جستجوی ترکیبی واسه تاریخ هم جواب بده که مثلا اگه کاربری تاریخ تولدشو زد و اطلاعات تمامی کاربرایی که تاریخ تولداشون که توی یه روزه رو اورد بعد اسمش رو هم زد و کلید جستجو رو زد فقط افراد با اون اسم و تاریخ تولد رو بیاره. واسه همه فیلدها هم امتحان کردم به صورت ترکیبی جواب میده تاریخ رو هم به صورت تکی جدا امتحان کردم وارد کنم جواب میده ولی وقتی که می خوام تاریخ به همراه بقیه فیلدها رو به صورت ترکیبی جستجو کنم توی gv هیچی نمایش داده نمیشه ولی به محض اینکه تاریخ رو بردارم جستجوی ترکیبی دوباره کار میکنه اگه هم تاریخ تنها رو هم توی query select بزارم کار میکنه ولی با هم کار نمیکنند. تاریخ رو هم هنگام ثبت شمسی از کاربر میگیرم و دارم از کلاس persiancalender استفاده می کنم و به صورت میلادی در دیتابیس ذخیره میشه و باز با یه فانکشن توی sql میلادی رو به شمسی تبدیل میکنم و توی view شمسی شده رو نشون میده و من اطلاعات رو از view میگیرم و توی gv به کاربر نشون میدم تا تاریخ رو شمسی ببینه الان هم مشکل برنامم فقط همینه که با تاریخ ترکیبی کار نمیکنه که می خوام حتما به این صورت کار کنه. ببخشید یکم طولانی شد. دوستان ممنون میشم کمک کنید کدم رو هم میزارم واستون ببینید مشکلش چیه


private void SrchBtn_Click(object sender, EventArgs e)
{
da = new SqlDataAdapter("Select * from Tblemp where FName like @name AND BirthDate=@bdate AND BirthNo like @bnum", conn);
string nam = "" + textBox1.Text + "%";
da.SelectCommand.Parameters.AddWithValue("@name", nam);
string date= maskedTextBox1.Text;
da.SelectCommand.Parameters.AddWithValue("@bdate", date);
string bno = "" + textBox2.Text + "%";
da.SelectCommand.Parameters.AddWithValue("@bnum", bno);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Show();
}

golbafan
دوشنبه 17 فروردین 1394, 13:17 عصر
سلام
باید متن ها رو برای جستجو در کوتیشین بزارید
تاریخ هم همینطور

text = "\"" + text + "\"";

mahan0o0
دوشنبه 17 فروردین 1394, 13:33 عصر
سلام
باید متن ها رو برای جستجو در کوتیشین بزارید
تاریخ هم همینطور

text = "\"" + text + "\"";
قبلا همه اینکار رو همه کردم و خیلی کلا سعی و خطا کردم مشکلم رفع نشد. چند روزه روی همین مشکل دارم فقط ممنون میشم دوستان راهنمایی دیگه ای دارند مطرح کنند ببینم مشکلش چیه

golbafan
دوشنبه 17 فروردین 1394, 13:37 عصر
اصولا نباید مشکلی باشه
شما بدون پارامتر یه بار چک کن ببین چی میشه

Select * from Tblemp where FName like "hamid%" AND BirthDate="1390/01/01" AND BirthNo like "abc%"