PDA

View Full Version : مقایسه رشته در if



eshaghi
دوشنبه 15 مرداد 1386, 16:50 عصر
با عرض سلام
کد های زیر را در نظر بگیریددر این کد داده های را وارد textbox می کنیم وبا توجه به خالی بودن یا نبودن sqlرا می سازیم ونتیجه select را به datagridبایند میکنیم اما با توجه به داده های که در جدول وجود دارد datagrid خالی نشان داده می شود ومشکل از جمله sql است من این روش جشتجوی کامل را در vb.netاستفادهکرده وبه درستی جواب داده است لطفا من را راهنمایی کنید


string st="";
if (metter.Text !="")
{
st = "select * from land where metter='" + metter.Text + "' ";
}
//-----------------

if ( (st!="") && (fee.Text != ""))
{
st = st + " and fee='" + fee.Text + "' ";
}
else if ((st == "") && (fee.Text != ""))
{
st = "select * from land where fee=' " + fee.Text + " ' ";
}
//------------------
if ((st!="") && (address.Text != ""))
{
st = st + " and address like '% " + address.Text + " %' ";
}
else if (st == "" & address.Text != "")
{
st = "select * from land where address like '% " + address.Text + " %' ";
}
//-------------------
if (st == "")
{
label5.Text = "هیچگونه اطلاعاتی وارد نکردید";
}
else if (st!="")
{
st="select * from land where address.text='r' ";
SqlConnection sqlcon;
sqlcon=new SqlConnection("server=;database=ajans;Integrated Security=True;");
sqlcon.Open();

DataSet ds1 = new DataSet();
ds1.Clear();
SqlDataAdapter da1 = new SqlDataAdapter(st, sqlcon);
da1.Fill(ds1, "land");
//dg.SetDataBinding(ds1,"land");
dg.DataBindings.Add(new Binding("datasource",ds1,"land"));
sqlcon.Close();
}

rasoul_ras
دوشنبه 15 مرداد 1386, 16:59 عصر
میشه خواستتو کاملتر توضیح بدی

MH2538
سه شنبه 16 مرداد 1386, 06:30 صبح
سلام
قسمت آخر کدت (dg.DataBindings.Add(new Binding("datasource",ds1,"land"));)
رو به شکل زیر تغییر بده ببین جواب می ده یا نه


dg.DataSource=ds1.Tables[0]

jafari_m246
سه شنبه 16 مرداد 1386, 07:52 صبح
if (comboBox1 .Text !="")
str1 =" (select tr_num from sttr where st_num='" + comboBox1.Text + "')";
if (comboBox2 .Text != "")
str1 = str1 + " union (select tr_num from tctr where tc_num='" + comboBox2.Text + "')";


DataTableMapping tblmap = newDataTableMapping();
DataColumnMapping colmap = newDataColumnMapping();
da = newSqlDataAdapter(str1, cn);
tblmap = da.TableMappings.Add("Table", "srh");
colmap = tblmap.ColumnMappings.Add("tr_num", "شماره اردو");
da.Fill(ds);
dataGrid1.DataSource = ds;
dataGrid1.DataMember = "srh";


من از این کد ها استفاده کردم .شما می توانید به جای combobox ها از textbox استفاده کنید وآن را برای textbox های بیشتر بسط اش بدهید

eshaghi
سه شنبه 16 مرداد 1386, 10:23 صبح
سلام
قسمت آخر کدت (dg.DataBindings.Add(new Binding("datasource",ds1,"land"));)
رو به شکل زیر تغییر بده ببین جواب می ده یا نه

کد:
dg.DataSource=ds1.Tables[0]__________________


با تشکر اما دوست عزیز خطای زیر را داد

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll

Additional information: System error.

eshaghi
چهارشنبه 17 مرداد 1386, 16:13 عصر
با تشکر از دوستان مشکل این جستجوی کامل را پیدا کردم و قسمتی از کد صحیح را نشان می دهم که مشابه بقیه کدها است

string st="";
if (metter.Text !="")
{
st = "select * from land where metter='" + metter.Text + "' ";
metter.Text="";
}
//-----------------
temp.Text=st.ToString();
if (temp.Text!="" && fee.Text!="" )
{ st+= " and fee='" + fee.Text + "'";}
else if (temp.Text=="" && fee.Text!="")
{st="select * from land where fee='" + fee.Text + "'";}
//------------------
temp.Text=st.ToString();
if (temp.Text!="" && address.Text!="")
{
st+= " and address like '%" + address.Text + "%' ";
}
else if (temp.Text=="" && address.Text!= "")
{
st = "select * from land where address like '%" + address.Text + "%' ";
}
//-------------------
temp.Text=st.ToString();
if (temp.Text!="" & lim.Text != "")
{
st=st + " and lim ='" + lim.Text + "' ";
}
else if (temp.Text=="" & lim.Text != "")
{
st = "select * from land where lim ='" + lim.Text + " ' ";
}
//------------------