PDA

View Full Version : چگونه به دستور where در select به صورت متغییر مقدار دهیم



shadidayan
پنج شنبه 31 مرداد 1387, 01:50 صبح
با سلام
اگه میشه در این مورد توضیح دهید.

string str
khareji obj = new khareji();
//str = obj.lbldoby.Text;
str = "faranse";
int intposition;
SqlCommand objcommand = new SqlCommand();
SqlConnection objconection1 = new SqlConnection(_conectionstring);
SqlDataAdapter objadapter1 = new SqlDataAdapter("SELECT tor_barghozari.name_tor, tor_barghozari.modate_eghamet, tor_barghozari.date_start, tor_barghozari.price, j_tor.maghsad_city FROM tor_barghozari INNER JOIN j_tor ON tor_barghozari.k_id = j_tor.k_id WHERE (j_tor.contery='dobey')", objconection);

//clera previors databinding
intposition = objcurrencymanger.Position;
objcommand.Connection = objconection1;
objcommand.CommandText = "SELECT tor_barghozari.name_tor, tor_barghozari.modate_eghamet, tor_barghozari.date_start, tor_barghozari.price, j_tor.maghsad_city FROM tor_barghozari INNER JOIN j_tor ON tor_barghozari.k_id = j_tor.k_id WHERE (j_tor.contery=@country)"; //update
objcommand.CommandType = CommandType.Text;
objcommand.Parameters.AddWithValue("@country",str);
objconection1.Open();
objcommand.ExecuteNonQuery();

objconection1.Close();
DataSet objdataset1 = new DataSet();
objadapter1.Fill(objdataset1, "tor_barghozari");
DataView objdataview1 = new DataView(objdataset1.Tables["tor_barghozari"]);
CurrencyManager objcurrencymanger1;
objcurrencymanger1 = (CurrencyManager)this.BindingContext[objdataview1];
txtnametor.DataBindings.Clear();
txttarikh.DataBindings.Clear();
txtnameshahr.DataBindings.Clear();
txtprice.DataBindings.Clear();
txtmodateeghamat.DataBindings.Clear();
//add databinding to dataview
txtnametor.DataBindings.Add("text", objdataview1, "name_tor");
txtnameshahr.DataBindings.Add("text", objdataview1, "maghsad_city");
txtmodateeghamat.DataBindings.Add("text", objdataview1, "modate_eghamet");
txttarikh.DataBindings.Add("text", objdataview1, "date_start");
txtprice.DataBindings.Add("text", objdataview1, "price");

pars.engineer
پنج شنبه 31 مرداد 1387, 02:16 صبح
سلام،
خيلي بهتر است كه كدتان را درون تگ كد قرار دهيد، چون به اين شكل اصلا خوانا نيست.




string str
khareji obj = new khareji();
//str = obj.lbldoby.Text;
str = "faranse";
int intposition;
SqlCommand objcommand = new SqlCommand();
SqlConnection objconection1 = new SqlConnection(_conectionstring);
SqlDataAdapter objadapter1 = new SqlDataAdapter("SELECT tor_barghozari.name_tor, tor_barghozari.modate_eghamet, tor_barghozari.date_start, tor_barghozari.price, j_tor.maghsad_city FROM tor_barghozari INNER JOIN j_tor ON tor_barghozari.k_id = j_tor.k_id WHERE (j_tor.contery='dobey')", objconection);


//clera previors databinding
intposition = objcurrencymanger.Position;
objcommand.Connection = objconection1;
objcommand.CommandText = "SELECT tor_barghozari.name_tor, tor_barghozari.modate_eghamet, tor_barghozari.date_start, tor_barghozari.price, j_tor.maghsad_city FROM tor_barghozari INNER JOIN j_tor ON tor_barghozari.k_id = j_tor.k_id WHERE (j_tor.contery=@country)"; //update
objcommand.CommandType = CommandType.Text;
objcommand.Parameters.AddWithValue("@country",str) ;
objconection1.Open();
objcommand.ExecuteNonQuery();


objconection1.Close();
DataSet objdataset1 = new DataSet();
objadapter1.Fill(objdataset1, "tor_barghozari");
DataView objdataview1 = new DataView(objdataset1.Tables["tor_barghozari"]);
CurrencyManager objcurrencymanger1;
objcurrencymanger1 = (CurrencyManager)this.BindingContext[objdataview1];
txtnametor.DataBindings.Clear();
txttarikh.DataBindings.Clear();
txtnameshahr.DataBindings.Clear();
txtprice.DataBindings.Clear();
txtmodateeghamat.DataBindings.Clear();
//add databinding to dataview
txtnametor.DataBindings.Add("text", objdataview1, "name_tor");
txtnameshahr.DataBindings.Add("text", objdataview1, "maghsad_city");
txtmodateeghamat.DataBindings.Add("text", objdataview1, "modate_eghamet");
txttarikh.DataBindings.Add("text", objdataview1, "date_start");
txtprice.DataBindings.Add("text", objdataview1, "price");



همين روشي كه استفاده كرده ايد، روش درستي است، و شما مقدار متغير Country@ را برابر مقدار Str قرار داده ايد.
حالا مشكل كجاست؟
اگر هم مي خواهيد مقدار متغير Country@ را از كاربر دريافت كنيد، بسيار ساده مي توانيد با استفاده از يك TextBox مقدار Str را تغيير دهيد.



str=textBox.Text;


البته اميدوارم منظور شما را درست متوجه شده باشم.