将 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 MVVM 将 Dictionary<String, List<String>> 绑定到数据网格
是否有可能看到我在C#WPF中按下数据网格上的向下箭头如何将事件绑定到该?