PDA

View Full Version : برگرداندن value کمبوباکس



shaima
سه شنبه 17 شهریور 1388, 17:13 عصر
سلام
من یه کمبو باکس دارم که اطلاعاتش رو از یه فیلد از تیبل میگیره و این کد در قسمت لود نوشته شده:


mag_sqldb_Command.CommandText = "Select name from Table_1 ";
mag_sqldb_Command.Connection = mag_sqldb_con;
sqlda.SelectCommand = mag_sqldb_Command;
mag_sqldb_con.Open();
sqlda.Fill(DS, "Table_1");
mag_sqldb_con.Close();
comboBox1.DataSource = DS.Tables["Table_1"];
comboBox1.DisplayMember = "name".ToString();

حالا میخوام وقتی روی دکمه سیو کلیک میکنم اول با یه دستور select بررسی کنه این اسم وجود داره یا نه، اگر وجود داشت اون رکورد رو آپدیت کنه و اگر نبود insert کنه، ولی یه مشکلی که هست اینه که وقتی رکورد وجود داره اون رو پیدا نمیکنه و insert میکنه من با یه meesagbox فهمیدم مقداری که دستور سلکت از کمبو باکس میگیره اینه:
conditions= system.data.datarowview

اینم کدش:


string conditions=comboBox1.SelectedValue.ToString();
MessageBox.Show(conditions,"con");


چرا این اتفاق میفته؟!

mohsenashkboos
سه شنبه 17 شهریور 1388, 19:08 عصر
این دستوری که در Messagebox نوشتی که کاری نمیکنه فقط object را تبدیل به string میکنه میفرسته تو متغیرت؟؟!!منظورت رو نمی فهمم ؟؟!!!

mohsenashkboos
سه شنبه 17 شهریور 1388, 19:11 عصر
نوشتن چیزی که می خوای کاره سختی نیست.ببین به نظر من یک DtaraReader بگیر و بعد چک کن ببین اگر Row داشت یعنی و جود دارد و بعد یک تابع که Update کارش رو صدا بزن در غیر اینصورت تابع Insert که قبلا نوشتی صدا کن .

shaima
سه شنبه 17 شهریور 1388, 21:28 عصر
سلام
منم که گفتم این دستور کاری نمیکنه! دستور select ام اینجوریه:


command.commandtex = "select id from Table_1 where name=\'" + combobox1.selectedvalue.tostring() + "\'";


ولی این دستور select او مقداری رو که گفتم از کمبوباکس میگیره، یعنی به جای مقدار انتخابی کمبو مقدار system.data.datarowview رو برمیگردونه! :متفکر:
من با بقیه کد و نحو انجامش مشکلی ندارم فقط این دستور select باید مقدار درستی رو از کمبو بگیره که نمیگیره، اون مسیج باکسم برای همین نوشتم که مقدار کمبو رو بهم بده که همونی رو داد که دیدید، چرا مقدار درست کمبو باکس رو بهم نمیده؟! از کد دیگه ای باید استفاده کنم؟!

mohsenashkboos
سه شنبه 17 شهریور 1388, 22:20 عصر
ببینم شما میخواید مقدار رشته ای ComboBox را میخواهید؟

اگر مقداری که در ComboBox ذخیرا شده را میخواهید میتوانید از :



ComboBox1.Text ;


استفاده کنید.

saeeedft
چهارشنبه 18 شهریور 1388, 00:58 صبح
شما یه کاری میتونید بکنید، با استفاده از یک textbox میتونید فیلد کلیدی جدول رو بیرون بکشید،بعد مقایسه کنید،اگر چنین چیزی بود که عمل ابدیت انجام میشه وگرنه دستور insert رو براش پاس بدید