مشکل در ذخیره کردن دیتای ComboBox در sql
با سلام
وقت همگی دوستان بخیر
من یه پروژه ای رو دارم کار میکنم که دارای دو جدول در sql هست.
یک فیلد به نام groupid در یک جدول کلید اصلی و در جدول دیگه کلید خارجی از نوع int هست.
حالا من وقتی میخوام از طریق کمبوباکس combobox.selectedvalue رو در کلید خارجی ذخیره کنم به من ارور میده:
Severity Code Description Project File Line Suppression State
Error CS0555 User-defined operator cannot take an object of the enclosing type and convert to an object of the enclosing type AzmoonGir D:\Azmoon\Prog\AzmoonGir\AzmoonGir\DataClasses.des igner.cs 455 Active
کد من برای درج در دیتابیس از طریق تکنولوژی linq به صورت زیره:
var db = new DataClassesDataContext();
TblQuestion tq = new TblQuestion()
{
GroupID =Convert.ToInt32( cmbGoup.SelectedValue),
QuestionText = txtQuestion.Text,
Case1 = txtCase1.Text,
Case2 = txtCase2.Text,
Case3 = txtCase3.Text,
Case4 = txtCase4.Text,
Answer=Convert.ToInt32( cmbAnswer.Text),
};
به نظر شما اشکال کار از کجاست؟
نقل قول: مشکل در ذخیره کردن دیتای کمبوباکس در sql
لطف کنید امتحان کنید
بجای
cmbGoup.SelectedValue
از
cmbGoup.Text
استفاده کنید
نقل قول: مشکل در ذخیره کردن دیتای کمبوباکس در sql
سلام بر شما
خاصیت text به درد من نمیخوره. من میخوام مقدار selectedvalue رو بگیره.
آخه نوع groupid در اس کیو ال int هست
نقل قول: مشکل در ذخیره کردن دیتای ComboBox در sql
cmbGoup را چطور پر میکنید؟
تبدیل ها را قبل از خط 3 انجام بدید تا متوجه بشید دقیقا خطا از کجاست.
نقل قول: مشکل در ذخیره کردن دیتای ComboBox در sql
سلام
دو تا تیبل هست. یکیش تیبل سوال و یکی تیبل گروه ها.فیلد groupid در تیبل سوال کلید اصلی و در تیبل گروه کلید فرعیه.
تیبل گروه یه دونه groupid و یه groupname داره. بنابراین تیبل groupid از این طریق پر میشه. مشکل اینکه که وقتی توی تیبل سوالات میخوام خاصیت selectedvalue کمبوباکس رو بگیرم بهم خطای بالا رو میده. یعنی مثلا وقتی من توی فرم سوالات گروه رو گروه فیزیک انتخاب کردم میخوام در حقیقت groupid فیزیک رو برام برگردونه و من بتونم اونو توی دیتابیسم ذخیره کنم...
نقل قول: مشکل در ذخیره کردن دیتای ComboBox در sql
اینها رو که گفتید. کد پر کردن کمبوباکسها رو بزارید. تبدیلات رو هم در خطوط مجزا انجام بدید.
اگر میتونید پروژه را قرار بدید یا پیام خصوصی کنید.
نقل قول: مشکل در ذخیره کردن دیتای کمبوباکس در sql
امتحان کردم جواب داد
int i = Convert.ToInt32(comboBox1.Text);
MessageBox.Show(i.ToString());
نقل قول: مشکل در ذخیره کردن دیتای ComboBox در sql
خطا به این دلیل هست که شما ValueMember رو برای ComboBox تعریف نکردین.
و احتمالا آیتم های ComboBox رو به صورت دستی وارد کردید.
راه مناسب این هست که از یه Table یا لیست برای اضافه کردن داده ها استفاده کنید و DisplayValue و ValueMember رو تعریف کنید.
نمونه کد:
DataTable courseTable = new DataTable();
courseTable.Columns.Add("id", typeof(int));
courseTable.Columns.Add("name", typeof(string));
courseTable.Rows.Add(1, "فیزیک");
courseTable.Rows.Add(2, "ریاضی");
courseTable.Rows.Add(3, "شیمی");
courseTable.Rows.Add(4, "محاسبات");
comboBox1.DataSource = courseTable;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";