2012-12-03 7 views
5

Próbuję powiązać DataGrid dla WPF do tabeli w MS SQL Database.wiązania DataGrid dla WPF do DB

1) Najpierw utworzony plik App.config jak followsrrr

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

2) z drugiej strony, to dodaje się DataGrid moja forma o nazwie grdEventLog

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

3), a potem dodano ten kod MainWindow.xaml.cs złożyć w następujący sposób:

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

Po wpisaniu wszystkich tych wpisów, mam err lub w ConfigurationManager stwierdzając „nazwa nie istnieje w bieżącym kontekście”

próbuję dodać cfgmgr32.dll odniesienia do przezwyciężenia tego błędu. Ale nie jest akceptowane. Czy ktoś może zaproponować, aby przekroczyć ten błąd?!

alternatywna propozycja dla zbliża wiązania z danymi w WPF jest również mile widziane.

+0

czy dodałeś "using System.Configuration;" ? –

+1

Tak, dodałem już. – user1221765

Odpowiedz

1

Problem nie polega na samym wiązaniu danych. Wydaje się, że jest literówka albo w pliku konfiguracyjnym, albo w kluczu używanym w ConnectionStrings []. Byłoby użyteczne, jeśli w tym miejscu opublikowałeś cały błąd z plikiem stacktrace. P.S. W twoim pliku konfiguracyjnym występuje literówka. Powinno być nie

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

ale

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

Zobacz ostatni wiersz.