PDA

View Full Version : سوال: خطا در bind کردن TextBox



mohsen88
یک شنبه 08 آذر 1388, 15:14 عصر
ببخشید استادا من یه مشکل دارم اگه ممکنه راهنماییم کنید تا حل بشه.



SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=taksi;Integrated Security=True");


SqlCommand cmd = new SqlCommand();


SqlDataAdapter Adapter = new SqlDataAdapter();


DataSet DS = new DataSet();


conn.Open();


cmd.Connection = conn;


Adapter.SelectCommand = cmd;


cmd.CommandText = "select max (ceshterak) from moshtarakTBL";


Adapter.Fill(DS);


txtnewceshterak.DataBindings.Add(new Binding("text",DS,"ceshterak"));*


cmd.ExecuteNonQuery();


conn.Close();


DS.Clear();


کد بالا مثلا کارش اینه که بزرگترین مقدار یه فیلد(ceshterak) رو از یه جدول (moshtaraktbl) بدست بیاره و تو یه textbox بریزه، اما error میده و من معنی اونو متوجه نمیشم. احتمال میدم تو خط *ایراد باشه و نوع bind کردن من غلط باشه اگه بتونین بگین مشکل کارم کجاست ممنون میشم.

Saeed.Masoumi
یک شنبه 08 آذر 1388, 21:11 عصر
ببین این کارو بکن برای تکست باکست :



TextBox01.DataBindings.Add("Text", MY_DATASET, "Data_MEMBER");
در ضمن پیغام خطا رو بده ببینیم

mohsen88
دوشنبه 09 آذر 1388, 11:13 صبح
سلام اومدی جواب بدی یا صرفا یک پست بزنی؟
ببین این کارو بکن برای تکست باکست :



TextBox01.DataBindings.Add("Text", MY_DATASET, "Data_MEMBER");


در ضمن پیغام خطا رو بده ببینیم



عزیزم اینو که خودم بلدم که ، وضعیت خرابه با این جور کدا درست نمیشه جیگر کد منم اینجوریه عکساشو میزارم ببینید.:عصبانی++::عصبانی:

slashslash2009
دوشنبه 09 آذر 1388, 12:27 عصر
دوست من
بعد از مدتها که کلا بیخیال این موضوع شده بودم یعنی bind کردن تکست باکس به دیتابیس و از روشهای دیگه استفاده میکردم که خیلی جالب نودن بالاخره همین چندروز پیش تونستم این کارو انجام بدم این کد واسه برنامه من که جواب داده امتحانش کن

try
{
strSQL = "select * from ahang";
da = new SqlDataAdapter(strSQL, con);
ds = new DataSet();
con.Open();
da.Fill(ds, "ahang");
con.Close();
textBoxX1.DataBindings.Add(new Binding("Text", ds.Tables["ahang"], "song"));
}
catch
{
}
textBoxX1.DataBindings.Clear();

Sirwan Afifi
دوشنبه 09 آذر 1388, 15:17 عصر
اينه كه خيلي سادست

تو دستور به دو حالت ميتوني اين كارو بكني 1)يا تو دستور SQL مثلا اون فيلدي رو سلكت كن كه مي خواي تو تكس باكس بايند بشه

SELECT Name FROM Student

2)يا توي خود تكست باكس به اين شكل :


TextBox1.databinding.add(new Binding("Text ,ds,"Student.Name"))

Saeed.Masoumi
دوشنبه 09 آذر 1388, 19:54 عصر
سلام


mohsen88این پیغام خطا تابلو گرفته دستش میگه دیتا ممبرت مشکل داره
همونطور که توی پست سوم این دوستمون اومده اول دیتا ممبر رو برابر song گذاشته بعد موقع اینکه می خواد بایند کنه میاد و اسم دیتا ممبرش رو می زاره
شما مشکلتان در دتاممبر است.

mohsen88
دوشنبه 09 آذر 1388, 21:53 عصر
سلام

این پیغام خطا تابلو گرفته دستش میگه دیتا ممبرت مشکل داره
همونطور که توی پست سوم این دوستمون اومده اول دیتا ممبر رو برابر song گذاشته بعد موقع اینکه می خواد بایند کنه میاد و اسم دیتا ممبرش رو می زاره
شما مشکلتان در دتاممبر است همین

عزیزم منم اینو میدونم اما هر کاری میکنم درست نمیشه کار این دوتا دوستمونم انجام دادم ولی برازم همون error و داد از دستور try catch استفاده کردم که اون یکی دوستمون گفت error بر طرف شد اما چیزی bind نکرد در عجبم . تموم کارای این لامسب پروژمو انجام دادم رفته مثل ... تو گل موندم این یکی حالمو گرفته:عصبانی++::عصبانی++::عصب نی++::عصبانی++::عصبانی::عصبان ::عصبانی:

slashslash2009
دوشنبه 09 آذر 1388, 23:19 عصر
مشکل من با این کد حل شد textBoxX1.DataBindings.Clear(); البته در آخر همون تکه کد نوشته بودمش

Saeed.Masoumi
سه شنبه 10 آذر 1388, 00:55 صبح
سلام
به این پروژه یکنگاه بنداز سعی کردم خیلی ساده و ابتدایی بنویسم تا توی کد ها گم نشی
یک سوال:چه نیازی داری به بایندینگ؟
من توی این پروژه به هر دو روش (هم بایندینگ و هم بدون بایندینگ) این مشکل شما رو حل کردم.
یادت نره دتابیس رو اول اتچ کنی.
امیدوارم مشکلت حل شه

mohsen88
سه شنبه 10 آذر 1388, 07:56 صبح
سلام
به این پروژه یکنگاه بنداز سعی کردم خیلی ساده و ابتدایی بنویسم تا توی کد ها گم نشی
یک سوال:چه نیازی داری به بایندینگ؟
من توی این پروژه به هر دو روش (هم بایندینگ و هم بدون بایندینگ) این مشکل شما رو حل کردم.
یادت نره دتابیس رو اول اتچ کنی.
امیدوارم مشکلت حل شه

دستت درد ننه دیگه، دیگه اینقدر بلدم اتچ نکرده کاری نکنم برادر. ببینید دوستان یه فیلد (فیلد کد اشتراکceshterak) داریم تو تیبلمون. میخوام وقتی کاربر تو text box کلیک کردبزرگترین مقدار (MAX) فیلد بره تو textbox .همین:افسرده::ناراحت:

slashslash2009
سه شنبه 10 آذر 1388, 09:13 صبح
دوست من دستور select مشکل داره اینجوری عوضش کن :

"select MAX(ceshterak)maximum from moshtarakTBL"
maximum یک فیلد کمکی هست که مقدار max در اون نگه داری میشه و میتونی او در یک تکست باکس و یا کومبو باکس بایند کنی :

comboBox14.DisplayMember = "maximum";

Saeed.Masoumi
سه شنبه 10 آذر 1388, 19:02 عصر
سلام

دستت درد ننه دیگه، دیگه اینقدر بلدم اتچ نکرده کاری نکنم برادر
توجه کن دوست عزیز من نگفتم شما یاد ندارید گفتم یادت نره این دو مفهوم کاملا متفاوته.
درضمن مشخصه اصلا دانلود نکردیش چون تا حالا دیگه باید مشکلت حل شده باشه.

(:CLONER
سه شنبه 09 تیر 1394, 09:07 صبح
سلام دوستان...
خواهش میکنم کمکم کنید.من یه کمبوباکس دار که به دیتابیسم(sql)به یک جدول که اسمش لیست کالاهاست متصل شده،حالا من میخوام وقتی که هر آیتمی رو که از کمبو باکس انتخاب میکنم قیمت اون کالا در تکست باکس قیمت کالا قرار بگیره ؟؟اما نمیدونم چجوری این ارتباط رو بین کمبو باکس وتکست باکس برقرار کنم؟؟از پاسخ های که دوستان در بالا دادن چیزی دستگیرم نشد..درضمن نوع مقادیر هم nvarchar میباشد.

Mahmoud.Afrad
چهارشنبه 10 تیر 1394, 00:01 صبح
سلام دوستان...
خواهش میکنم کمکم کنید.من یه کمبوباکس دار که به دیتابیسم(sql)به یک جدول که اسمش لیست کالاهاست متصل شده،حالا من میخوام وقتی که هر آیتمی رو که از کمبو باکس انتخاب میکنم قیمت اون کالا در تکست باکس قیمت کالا قرار بگیره ؟؟اما نمیدونم چجوری این ارتباط رو بین کمبو باکس وتکست باکس برقرار کنم؟؟از پاسخ های که دوستان در بالا دادن چیزی دستگیرم نشد..درضمن نوع مقادیر هم nvarchar میباشد.

سه تا ستون مورد نظر مثلا id, name, price رو سلکت کن و بریز توی دیتاتیبل و یا لیست.
جایی که دیتاسورس کمبوباکس رو مقدار میدی تکست باکس رو هم بایند کن.

comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Id";

textBox1.DataBindings.Clear();
textBox1.DataBindings.Add("Text", dt, "Price");