【问题标题】:How to bind local db records to datagridview in C# Windows Application如何在 C# Windows 应用程序中将本地数据库记录绑定到 datagridview
【发布时间】:2019-11-26 08:39:07
【问题描述】:

我有一个带有本地数据库(SQL server express)的 C# windows 应用程序。我将SQL server express添加到应用程序目录,一切正常,我可以保存到数据库中,但我发现BIN文件夹中有数据库的副本,那是我保存记录的地方。我正在尝试绑定一个dataGridView来查看保存的记录,代码运行没有错误,但是网格没有加载数据,因为dataSet表为空。

private void BindDataGridView()
{
  try
  {
     var select = "SELECT DISTINCT [Country],[State],[City] FROM dbo.StaffRecord ORDER BY [Country]     ASC,[State] DESC";
    var c = new SqlConnection(connstring);
    var dataAdapter = new SqlDataAdapter(select, c);

    var ds = new DataSet();
    dataAdapter.Fill(ds);
    dataGridView1.ReadOnly = true;
    dataGridView1.DataSource = ds.Tables[0];

}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
 }
}

我的连接字符串:

<add name="connection" connectionString = "Data Source=(localdb)\MSSQLLocalDB; Initial catalog=StaffRecord; Integrated Security=true;AttachDBFilename=|DataDirectory|\Database1.mdf;" providerName="System.Data.SqlClient" />

拜托,我希望能够将 DataGridView 绑定到 BIN 文件夹中的本地数据库版本,因为记录保存在那里或应用程序的根目录中。谢谢

【问题讨论】:

  • 您是否使用不同的连接字符串来保存和读取数据?使用相同的连接字符串,您应该能够读取保存的数据。
  • 如果要连接到特定的数据库文件,请在连接字符串...;AttachDBFilename=C:\Myproject\bin\Database1.mdf;...的attach db文件名部分设置文件路径
  • 使用相同的连接字符串
  • 你怎么知道数据保存成功了?

标签: c# windows winforms datagridview


【解决方案1】:

您可以使用实体框架将您的数据库表映射为类。您可以将此类数据绑定到您的 DataGridView。

Entity Framework tutorial

编辑:
检查您的连接字符串中是否正确设置了DataDirectory
example

【讨论】:

  • 需要使用Ado.Net
  • EF 在后台使用 ADO.NET。
猜你喜欢
  • 2012-06-21
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 2018-03-29
  • 2014-06-03
相关资源
最近更新 更多