Avatar
N-nojmi
Člen
Avatar
N-nojmi:

Zdravím,
zasekl jsem se v projektu na tom, že nedokážu načíst data z databáze do DataGridu. Při spuštění, aplikace padne na chybu

An unhandled exception of type 'System.TypeInitializationException' occurred in PresentationFramework.dll

Byl bych rád, kdyby mi někdo řekl v čem dělám chybu.

Kód:

XAML:

<Window x:Class="WpfDataGrid.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <Grid>
        <DataGrid Name="dtgKnihy"  Height="150" Width="300" />
    </Grid>
</Window>

Kód:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;


namespace WpfDataGrid
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        SqlConnection cn;
        SqlDataAdapter da;
        DataSet ds;

        public MainWindow()
        {
            InitializeComponent();
            cn = new SqlConnection(@"Data Source=NOJMI-PC; Integrated Security=true");
            cn.Open();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            da = new SqlDataAdapter("SELECT * FROM Kniha", cn);
            ds = new DataSet();
            da.Fill(ds);
            dtgKnihy.ItemsSource = ds.Tables[0].DefaultView;
        }
    }
}
Odpovědět 21.8.2014 14:47
Není hloupých lidí, jen lidí co málo používají google...
Avatar
Lako
Člen
Avatar
Odpovídá na N-nojmi
Lako:

za 1.: Používej Entity framework, ušetříš si do budoucna dost práce a vyhneš se těmto překonaným věcem, jako je dotazování se do databáze pomocí stringů.
za 2.: kde přesně ti to padá?
za 3.: když ti to padne, koukne se na View Detail u té chybové hlášky a otevři si inner exception, zjistíš pak víc.. to sem napiš.

 
Nahoru Odpovědět  -1 21.8.2014 21:50
Avatar
vodslon
Člen
Avatar
Odpovídá na N-nojmi
vodslon:

Ahoj,

Třeba je to blbost, ale na první pohled tam nemáš název databáze nad kterou to bude dělat select.

 
Nahoru Odpovědět  +1 22.8.2014 9:33
Avatar
Odpovídá na N-nojmi
Michal Štěpánek:
  1. jak píše **vodslon, nevidím tam název databáze
  2. spojení s databází by mělo být otevřeno jen na dobu nezbytně nutnou, tzn. před provedením dotazu otevřít a po provedení dotazu zase zavřít.
Nahoru Odpovědět 22.8.2014 10:45
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.