mahan0o0
دوشنبه 17 فروردین 1394, 13: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();
}
من یک فرم جستجوی ترکیبی دارم که چند تا 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();
}