如何在C#中将DataGridView的数据引用到SQL数据库中?

时间:2015-11-03 15:01:15

标签: c# datagridview

我是数据库和C#的新手。我正在构建一个EPOS软件,我只是想 将DataGridView中的数据引用到SQL数据库中(如果我说它是正确的)。 好的,这就是我想要做的事情:

如照片中所示,我在DataGridView中有customer1订单详细信息(3行),此详细信息仅适用于一个customer1。现在,当我完成customer1时,其订单详细信息将保存在数据库中。接下来,当我完成customer2订单时,其详细信息将保存在数据库中。接下来,customer3订单详细信息将保存在数据库....等等。

现在例如在将来的某个时候我想回读/编辑(或检查)  customer2从数据库订购详细信息并将其填充到DataGridView。

我一直在考虑怎么做但我失败了,我很困惑。 能否请您提供一个关于如何检查Customer2订购内容的想法或代码。谢谢。

photo

1 个答案:

答案 0 :(得分:0)

创建代表您的表的Customer模型。然后创建一个返回集合的方法。我将假设您已经设置了连接字符串并知道如何使用c#在代码中读取它。所以代码看起来像:

public class Customer
{
    public int Quantity { get; set; }
    public string Description { get; set; }
    public double Price { get; set; }
}

public List<Customer> GetCustomerData()
{
  var list = new List<Customer>();

  string sqlQuery = "SELECT Qty, Des, Price From MyTable Where Customer = SomeCustomer"; //Change accordingly
  string connectionString = "Your Connection String";

  using (var connection = new SqlConnection(connectionString))
  {
    using (var cmd = new SqlCommand(sqlQuery, connection))
    {
      connection.Open();

       using (var reader = cmd.ExecuteReader())
       {
         while (reader.Read())
         {
            var c = new Customer();
            c.Quantity = Convert.ToInt32(reader["Qty"]);
            c.Description = reader["Des"].ToString();
            c.Price = Convert.ToDouble(reader["Price"]);

            list.Add(c);
          }
       }
     }
   }
   return list;
}

Finnaly在DataGrid上显示数据:

MyGrid.ItemsSource = GetCustomerData(); //Change MyGrid to whatever you've named your grid

请注意:我尚未测试上述代码,因此可能需要进行一些小的更改。但它应该给你一个好主意。