PDA

View Full Version : سوال: ثبت مقدار یک فیلد در پایگاه داده از طریق کلید خارجی درsqlcommand



masoudseddighi
شنبه 06 شهریور 1389, 08:00 صبح
سلام
دوستان من یه جدول به نام service دارم و یه جدول به نام city دارم که برای تعیین مبدا و مقصد service از جدول service به جدول city کلید های خارجی sourceId و destinationId دارم .
در یک صفحه برای ثبت سرویس مقدار شهر را از طریق یه dropdownlist میگیرم اما در جدول service فقط باید مقدار id شهر ذخیره شود پکار باید بکنم؟

SqlConnection scon = new SqlConnection(ConfigurationManager.ConnectionStrin gs["realConnectionString"].ToString());
SqlCommand scom1 = new SqlCommand("insert into service (corporationId,property,serviceDay,serviceMonth,se rviceYear,sourceId,destinationId,time) values (@corporationId,@property,@serviceDay,@serviceMont h,@serviceYear,@sourceId,@destinationId,@time)", scon);
scom1.Parameters.Add("@destinationId", SqlDbType.Int).Value = int.Parse(DropDownList3.SelectedValue);
scom1.Parameters.Add("@sourceId", SqlDbType.Int).Value = int.Parse(DropDownList2.SelectedValue);
scom1.Parameters.Add("@corporationId", SqlDbType.Int).Value = int.Parse(DropDownList1.SelectedValue);
scom1.Parameters.Add("@time", SqlDbType.NText).Value = TextBox1.Text;
scom1.Parameters.Add("@serviceDay", SqlDbType.Int).Value = int.Parse(DropDownList4.SelectedValue);
scom1.Parameters.Add("@serviceMonth", SqlDbType.Int).Value = int.Parse(DropDownList5.SelectedValue);
scom1.Parameters.Add("@serviceYear", SqlDbType.Int).Value = int.Parse(DropDownList6.SelectedValue);
scom1.Parameters.Add("@property", SqlDbType.NText).Value = TextBox2.Text;
scon.Open();
scom1.CommandType = CommandType.Text;
scom1.ExecuteNonQuery();
scon.Close();

maxpayn2
شنبه 06 شهریور 1389, 10:47 صبح
خب وقتی داری مقدار ها رو به DropDown بایند میکنی text رو برابر با نام شهر و value رو برابر با Id شهر قرار بده و هر وقت هر آیتمی انتخاب شد DropDownList.SelectedValue رو توی جدول Service قرار بده

masoudseddighi
یک شنبه 07 شهریور 1389, 12:16 عصر
میشه دستورشو بنویسین؟
مگه چیزی که نوشتم اشتباهه؟
من میخام یه مقدار int در sourceId یا destinationId ذخیره بشه ایا درست نوشتم این دستو را؟
از selectedIndex هم باید استفاده کنم ؟ نه از selectedValue
لطف می کنید جوابمو بدین؟

scom1.Parameters.Add("@sourceId", SqlDbType.Int).Value = int.Parse(DropDownList2.SelectedValue);
scom1.Parameters.Add("@corporationId", SqlDbType.Int).Value = int.Parse(DropDownList1.SelectedValue);