Я пытаюсь создать систему заказов, в которой вы можете разместить много продуктов в одном порядке. У меня очень мало знаний об этом, и именно здесь я сейчас Несколько значений в одном поле (внешние ключи?)
Есть 3 таблицы, таблица продуктов, таблица заказов и таблица заказов. Я действительно не знаю, правильно ли это, поскольку я новичок, особенно по внешним ключам.
Что я хочу достичь, вы можете заказать много продуктов и поместить эти продукты в один «OrderID», как этот пример на рис. Ниже.
Это мои единственные коды. Извините, но я действительно потерял это.
public Form1()
{
InitializeComponent();
fillCart();
}
private void fillCart()
{
dgvCart.ColumnCount = 3;
dgvCart.Columns[0].Name = "ProductID";
dgvCart.Columns[1].Name = "ProductName";
dgvCart.Columns[2].Name = "Quantity";
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//dgvproducts
}
private void Form1_Load(object sender, EventArgs e)
{
crud.FillDataGrid("Select * from Products", ref dgvProducts);
crud.FillDataGrid("Select * from Orders", ref dgvOrder);
crud.FillDataGrid("Select * from Orderproducts", ref dgvOrderview);
lbldate.Text = DateTime.Now.ToShortDateString();
}
private void button2_Click(object sender, EventArgs e)
{
//button add to cart
addData(dgvProducts.CurrentRow.Cells[0].Value.ToString(), dgvProducts.CurrentRow.Cells[1].Value.ToString(), txtqty.Text);
}
private void addData(string p1, string p2, string p3)
{
String[] row = { p1, p2, p3 };
dgvCart.Rows.Add(row);
}
private void button1_Click(object sender, EventArgs e)
{
//button insert
}
Спасибо большое, и я надеюсь, что кто-то может помочь мне с моей проблемой.
использование метода для заполнения DataGridView с SQLServer 2008:
public crud()
{
cnString = "Data Source=DESKTOP-MQKIBSK\\SQLEXPRESS;Initial Catalog=MARISCHELLdatabase;Integrated Security=True";
cn = new SqlConnection(cnString);
}
public void FillDataGrid(string sql, ref ns1.BunifuCustomDataGrid dg)
{
try
{
DataSet ds = new DataSet();
cn.Open();
cmd = new SqlCommand(sql, cn);
adptr = new SqlDataAdapter(cmd);
adptr.Fill(ds);
dg.DataSource = "";
dg.DataSource = ds.Tables[0];
}
catch (Exception e)
{
MessageBox.Show("" + e.Message);
}
cn.Close();
}
Давайте [продолжить это обсуждение в чате] (http://chat.stackoverflow.com/rooms/135504/discussion-between-futuredev-and-epickip). – FutureDev
Комментарии не предназначены для расширенного обсуждения; этот разговор был [перемещен в чат] (http://chat.stackoverflow.com/rooms/135608/discussion-on-question-by-futuredev-multiple-values-in-one-field-foreign-keys). – meagar