将 Wpf 的数据网格绑定到数据库

Posted

技术标签:

【中文标题】将 Wpf 的数据网格绑定到数据库【英文标题】:binding datagrid for Wpf to a DB 【发布时间】:2012-11-21 00:34:00 【问题描述】:

我正在尝试将 WPF 的 DataGrid 绑定到 MS SQL 数据库中的表。

1)首先我创建了一个App.config文件如下rrr

    <connectionStrings> 
      <add name="ConString" connectionString="Data Source=MYDataSB\SQLExpress; 
       User Id=sa;Password=gm03C3; Initial Catalog=MYDB;">
    <connectionStrings/>

2) 其次,我在表单中添加了一个名为 grdEventLog 的数据网格

      <Grid>
        <DataGrid Name="grdEventLog"/>
      </Grid>

3) 然后我将此代码添加到 MainWindow.xaml.cs 文件中,如下所示:

     using System.Data;
     using System.Data.SqlClient;
     using System.Web;

public partial class MainWindow : Window

    public MainWindow()
    
        InitializeComponent();
        FillDataGrid();
    

    private void FillDataGrid()
    
        string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
        string CmdString = string.Empty;
        using (SqlConnection con = new SqlConnection(ConString))
        
            CmdString = "SELECT Server,Date,Typ,Msg FROM EventLog";
            SqlCommand cmd = new SqlCommand(CmdString, con);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable("EventLog");
            sda.Fill(dt);
            grdEventLog.ItemsSource = dt.DefaultView;
        
    

输入所有这些条目后,我在 ConfigurationManager 中出现错误,指出“当前上下文中不存在该名称”

我正在尝试添加参考 cfgmgr32.dll 来克服此错误。但它不被接受。任何人都可以建议克服这个错误吗?!

也欢迎在 WPF 中处理数据绑定的替代建议。

【问题讨论】:

你添加了“使用 System.Configuration;” ? 【参考方案1】:

问题不在于数据绑定本身。似乎,配置文件中或 ConnectionStrings [] 中使用的键中有错字。如果您在此处使用堆栈跟踪发布整个错误,这将很有用。 附言您的配置文件中有错字。 应该不是

<connectionStrings> 
      <add name="ConString" connectionString="Data Source=MYDataSB\SQLExpress; 
       User Id=sa;Password=gm03C3; Initial Catalog=MYDB;">
    <connectionStrings/>

但是

<connectionStrings> 
      <add name="ConString" connectionString="Data Source=MYDataSB\SQLExpress; 
       User Id=sa;Password=gm03C3; Initial Catalog=MYDB;">
    </connectionStrings>

查看最后一行。

【讨论】:

以上是关于将 Wpf 的数据网格绑定到数据库的主要内容,如果未能解决你的问题,请参考以下文章

在 WPF 中,如何将数据网格列绑定到数据表的特定列?

WPF MVVM 将 Dictionary<String, List<String>> 绑定到数据网格

是否有可能看到我在C#WPF中按下数据网格上的向下箭头如何将事件绑定到该?

如何在C#中将列表与WPF数据网格绑定?

WPF MVVM 将 ComboBox 绑定到 Datagrid 选定项

WPF 数据网格绑定工具提示在表格内容绑定刷新时闪烁