2012-12-03 16 views
5

Sto tentando di associare un DataGrid per WPF a una tabella nel database MS SQL.datagrid vincolante per Wpf su un DB

1) In primo luogo ho creato un file app.config come followsrrr

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

2) In secondo luogo, ho aggiunto un datagrid alla mia forma con un nome grdEventLog

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

3) poi ho aggiunto questo codice a MainWindow.xaml.cs file come segue:

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

Dopo aver inserito tutte queste voci, ho l'err o in ConfigurationManager affermando "Il nome non esiste nel contesto corrente"

Sto cercando di aggiungere il riferimento cfgmgr32.dll per superare questo errore. Ma non viene accettato. Qualcuno può suggerire di venire questo errore ?!

Anche il suggerimento alternativo per l'accostamento del databinding in WPF è positivo.

+0

hai aggiunto "using System.Configuration;" ? –

+1

Sì, ho già aggiunto. – user1221765

risposta

1

Il problema non si trova nel databinding stesso. Sembra che ci sia un errore di battitura nel file di configurazione o nella chiave utilizzata in ConnectionStrings []. Sarebbe utile se pubblichi l'intero errore con stacktrace qui. P.S. C'è un errore di battitura nel tuo file di configurazione. Dovrebbe essere non

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

ma

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

vedere l'ultima riga.