2012-12-03 6 views
5

Tôi đang cố gắng ràng buộc một DataGrid cho WPF vào một bảng trong cơ sở dữ liệu MS SQL.ràng buộc dữ liệu cho Wpf đến một DB

1) Trước tiên tôi tạo ra một file App.config như followsrrr

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

2) Thứ hai, tôi đã thêm một DataGrid Mẫu của tôi với một tên grdEventLog

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

3) sau đó tôi đã thêm mã này vào tệp MainWindow.xaml.cs như sau:

 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; 
     } 
    } 

Sau khi nhập tất cả các mục nhập này, tôi có lỗi hoặc tại ConfigurationManager nêu rõ "Tên không tồn tại trong ngữ cảnh hiện tại"

Tôi đang cố gắng thêm tham chiếu cfgmgr32.dll để khắc phục lỗi này. Nhưng nó không được chấp nhận. Bất cứ ai có thể đề nghị đến hơn lỗi này?!

Đề xuất thay thế để tiếp cận dữ liệu trong WPF cũng được hoan nghênh.

+0

bạn đã thêm "using System.Configuration;" ? –

+1

Có, tôi đã thêm rồi. – user1221765

Trả lời

1

Sự cố không có trong dữ liệu chính nó. Có vẻ như có lỗi đánh máy trong tệp cấu hình hoặc trong khóa được sử dụng trong ConnectionStrings []. Sẽ hữu ích nếu bạn đăng toàn bộ lỗi bằng stacktrace tại đây. P.S. Có lỗi đánh máy trong tệp cấu hình của bạn. Nó phải là không

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

nhưng

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

Xem dòng cuối cùng.