با سلام
من می خواهم بدانم به چه شکل می توان بین دو تیبل که با یک کلید یک به چند با هم ارتباط دارند اطلاعات وارد کرد که در تیبل فرعی لحاظ شود؟
لطفا من رو راهنمایی کنید.
از چه ORM استفاده کردید ؟
من می خواهم روش درج در دو تیبل رو در asp.net بوسیله استفاده از فرمهای طراحی شده در Vs یاد بگیرم
ممنون میشم راهنماییم کنید
خب شما بگید از چه ORM استفاده میکنید تتا نمونه کد معرفی کنم
ممنونم ولی بهتره نمونه مشکل خودم رو بذارم که مشکل اصلی منه
در اصل من دو جدول دارم یک یکی اصلی و یکی فرعی در جدول اصلی من نام رستوران و طول و عرض جغرافیایی رستوران رو وارد کردم و در جدول فرعی که تصویرش رو پائین قرار دادم این اطلاعات با اطلاعات موجود در جدول فرعی ذخیره بشه
من می خواهم وقتی که انتخاب رستوران رو انتخاب می کنم با خودش یک سری اطلاعات از جدولی که ارتباط یک به چند دراه که جدول اصلی منه idو نام رستوران و طول و عرض جغرافیایی رو با خودش در جدول ثبت غذا وارد کنه
این هم نمونه کد من در code behinde می باشد که نوشتم
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace sst_market.admin { public partial class Sign_food : System.Web.UI.Page { string id, namere, pic, Longitude, latitude; protected void Page_Load(object sender, EventArgs e) { alert.Visible = false; if (!IsPostBack) { string query = "select food_id, group1 from foodgroup"; BindDropDownList(ddlCountries, query, "group1", "food_id", "لطفا گروه غذار را انتخاب کنید"); ddlStates.Enabled = false; ddlStates.Items.Insert(0, new ListItem("لطفا غذا را انتخاب کنبد", "0")); } } private void BindDropDownList(DropDownList ddl, string query, string text, string value, string defaultText) { string strconstring; strconstring = ConfigurationSettings.AppSettings["constring"]; SqlCommand cmd = new SqlCommand(query); using (SqlConnection con = new SqlConnection(strconstring)) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; con.Open(); ddl.DataSource = cmd.ExecuteReader(); ddl.DataTextField = text; ddl.DataValueField = value; ddl.DataBind(); con.Close(); } } ddl.Items.Insert(0, new ListItem(defaultText, "0")); } protected void Country_Changed(object sender, EventArgs e) { ddlStates.Enabled = false; ddlStates.Items.Clear(); ddlStates.Items.Insert(0, new ListItem("لطفا غذا را انتخاب کنبد", "0")); int food_id = int.Parse(ddlCountries.SelectedItem.Value); if (food_id > 0) { string query = string.Format("select foodDet_id, Name from foodDetails where food_id = {0}", food_id); BindDropDownList(ddlStates, query, "Name", "foodDet_id", "لطفا غذا را انتخاب کنبد"); ddlStates.Enabled = true; } } protected void LinkButton1_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); string strconstring; strconstring = ConfigurationSettings.AppSettings["constring"]; SqlConnection con = new SqlConnection(strconstring); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = con; da.SelectCommand.CommandText = ("insert Signfood (foodgroup,foodname,material,price,description) values (" + "N'" + ddlCountries.SelectedItem + "',N'" + ddlStates.SelectedItem + "',N'" + TextBox1.Text + "',N'" + TextBox2.Text + "',N'" + CKEditor1.Text + "')"); con.Open(); da.Fill(dt); TextBox1.Text = ""; TextBox2.Text = ""; CKEditor1.Text = ""; GridView1.DataBind(); alert.Visible = true; //------------------------------------------------------- DataTable dt2 = new DataTable(); string strconstring2; strconstring2 = ConfigurationSettings.AppSettings["constring"]; SqlConnection con2 = new SqlConnection(strconstring); SqlDataAdapter da2 = new SqlDataAdapter(); da2.SelectCommand = new SqlCommand(); da2.SelectCommand.Connection = con2; da2.SelectCommand.CommandText = ("select * from offer where(id=" + "'" + DropDownList1.SelectedValue + "')"); con2.Open(); da2.Fill(dt2); id = dt2.Rows[0]["id"].ToString(); id = dt2.Rows[0]["namere"].ToString(); id = dt2.Rows[0]["Longitude"].ToString(); id = dt2.Rows[0]["latitude"].ToString(); //id = dt2.Rows[0]["pic"].ToString(); //-------------------------------------------------------------- DataTable dt1 = new DataTable(); string strconstring1; strconstring1 = ConfigurationSettings.AppSettings["constring"]; SqlConnection con1 = new SqlConnection(strconstring); SqlDataAdapter da1 = new SqlDataAdapter(); da1.SelectCommand = new SqlCommand(); da1.SelectCommand.Connection = con1; da1.SelectCommand.CommandText = ("update signfood set id=N'" + id + "',namere=N'" + namere + "', Longitude=N'" + Longitude + "',latitude=N'" + latitude + "' where id=" + "'" + id +"'"); con1.Open(); da1.Fill(dt1); } } }
ولی وقتی می خواهم ثبت کنم خطای ناسازگاری دیتا تایپ رو در اسکیول میده همه رو تغیر دادم ولی مشکل حل نشد
لطفا من رو راهنمایی کنید آقای مهندس
مشکل در این قسمت هست
همه ستون ها رو در id ریختید که ارور داده
id = dt2.Rows[0]["id"].ToString(); id = dt2.Rows[0]["namere"].ToString(); id = dt2.Rows[0]["Longitude"].ToString(); id = dt2.Rows[0]["latitude"].ToString();
آقای مهندس به چه شکل باید تغیر کنه؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)