PDA

View Full Version : سوال: نشان دادن اطلاعات یکی از ستون های بانک اطلاعاتی در تکس باکس نه از طریق دیتا گرید



abasi.mohsen
جمعه 09 اسفند 1392, 15:30 عصر
سلام
چگونه میتوانیم اطلاعات یکی از ستون های بانک اطلاعاتی رو مستقیما بریزم تو تکس باکس(مستقیما نه از طریق دیتا گرید)؟

hosseinbarnamenevis
جمعه 09 اسفند 1392, 22:14 عصر
یه ستون کامل؟ داخل یه تکست باکس؟ حالا نمیشه به کمبوباکس راضی شین؟ اخه تکست باکس چرا؟

Davidd
شنبه 10 اسفند 1392, 09:19 صبح
احتمالا منظورت اينه كه مثل combox اگه كاربر يه كاراكتر تايپ كرد چند آيتم بهش پيشنهاد بشه.
توي مشخصات textbox نگاه كن يه قسمت داره واسه اين كار.
AutoCompleteCustomSource كه يك collection هست و مقاديري كه از ديتابيس ميخوني توش ميريزي
AutoCompleteMode اينكه چطور به كاربر پيشنهاد داده شود (ليست باز شود يا textbox اتوماتيك پر شود و يا تركيب اين دو)
AutoCompleteSource هم بايد CustomSource انتخاب بشه.

مثال:
TextBox1.AutoCompleteCustomSource.AddRange(new string[] {"a","b","c"};
TextBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;

abasi.mohsen
شنبه 10 اسفند 1392, 19:46 عصر
یه ستون کامل؟ داخل یه تکست باکس؟ حالا نمیشه به کمبوباکس راضی شین؟ اخه تکست باکس چرا؟

نه یه ستون کامل نمیخوام فقط یکی از خانه ها رو میخوام. لطفا با ذکر یک مثال راهنمایی کنید.

mahdi87_gh
شنبه 10 اسفند 1392, 19:55 عصر
دوست عزیز اطلاعات یک ستون میتونه بیشتر از یک مورد باشه و اصولا برای نمایش اطلاعات بیشتر از یک سطر از کنترل هایی مثل کمبوباکس یا گریدویو استفاده میشه.
مگر اینکه سطرش هم مشخص باشه ( اونوقت میشه مقدار یک فیلد خاص در یک سطر و ستون مشخص) که میشه اونو توی تکست باکس نمایش داد. جهت این کار هم میتونی از کامند ReadScalar() استفاده کنید.

string name=command.ReadScalar();

abasi.mohsen
شنبه 10 اسفند 1392, 19:59 عصر
دوست عزیز اطلاعات یک ستون میتونه بیشتر از یک مورد باشه و اصولا برای نمایش اطلاعات بیشتر از یک سطر از کنترل هایی مثل کمبوباکس یا گریدویو استفاده میشه.
مگر اینکه سطرش هم مشخص باشه ( اونوقت میشه مقدار یک فیلد خاص در یک سطر و ستون مشخص) که میشه اونو توی تکست باکس نمایش داد. جهت این کار هم میتونی از کامند ReadScalar() استفاده کنید.

string name=command.ReadScalar();
سطرش مشخص هست. اگر میشود یک مثال کامل بزنید.

mahdi87_gh
شنبه 10 اسفند 1392, 20:03 عصر
SqlCommand cmd=new SqlCommand();
cmd.con=myConnection;
cmd.CommanText="Select UserName from Users where UserID=1";
string userName=cmd.ExecuteScalar();

البته من کد رو خلاصه کردم. خودتون سایر موارد رو در نظر بگیرید.

Amirk333
سه شنبه 13 اسفند 1392, 08:46 صبح
سلام من از این روش استفاده کردم جواب هم میده
DataTable dtEdit = new DataTable();
connect.Open();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = connect;
da.SelectCommand.CommandText = "select * from tblStudent where studentid=@studentid";
da.SelectCommand.Parameters.AddWithValue("@studentid", txtstuntid.Text);
dtEdit.Clear();
da.Fill(dtEdit);
connect.Close();
DataRow row = dtEdit.Rows[0];
txtstudentname.Text = row["name"].ToString();

ELI994
سه شنبه 13 اسفند 1392, 12:06 عصر
من هم از این طریق نوشتم جواب داد . فقط باید شماره ستونها رو بنویسین
SQl_Server x = new SQl_Server();
string cmd = "select * from Organ where PId='" + PId.Text + "' ";


SqlConnection con = new SqlConnection(x.SCS);
con.Open();
SqlDataAdapter adpi = new SqlDataAdapter(cmd, con);
DataSet ds = new DataSet();
adpi.Fill(ds);

Department.Text = ds.Tables[0].Rows[0][5].ToString();

قسمتهای قرمز رو برای هر فیلد بر حسب شماره ستون عدد 5 رو تغییر بدین