DB i WPF w VS2010

chemiqs
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 10 lat
  • Postów:2
0

hejka

mam problem odnośnie podłączenia do lokalnego DB MS SQL2008 Express.
Mam środowisko vs2010. Baza jak wyżej. W bazie jedna testowa tabela UZYTKOWNICY.
Zrobiony DataSource do DB.

Aplikacja na razie testowa i prosta. W mainWindow umieszczona tylko Kontrolka.
w Kontrolce jest wyrzucenie na DataGrid danych.

Kompilacja idzie bez żadnych zarzutów. Program działa również dobrze - dane pobierają się z DB, ale jest jeden mały problem którego nie wiem jak rozwiązać. W trybie projektowania jak otworzę plik MAINWINDOW.XAML widzę cos takiego:

printscreen.jpg

Poniżej kod programu:

MAINWINDOW:

Kopiuj

<local:EdycjaUzytkownikowControl x:Name="EdycjaUzytkownikowControl" HorizontalAlignment="Center" 
                                 VerticalAlignment="Center" Visibility="Visible"  />

 

============================================================================

WYSWIETLANIE USEROW

Kopiuj
private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            string cnStr = ConfigurationManager.ConnectionStrings["Dentium2ConnectionString"].ConnectionString;

            SqlConnection sqlCn = new SqlConnection();
            sqlCn.ConnectionString = cnStr;
            sqlCn.Open();

            DataTable inv = new DataTable();
            string sql = "select * from uzytkownik";
            SqlCommand cmd = new SqlCommand(sql, sqlCn);

            SqlDataReader dr = cmd.ExecuteReader();
            inv.Load(dr);  
            dr.Close();

            uzytkownikDataGrid.ItemsSource = inv.DefaultView;
        }

 

============================================================================

APP.CONFIG

Kopiuj

<configuration>

    <connectionStrings>
            
        <add name="Dentium2ConnectionString" 
             connectionString="Data Source=(local)\SQLEXPRESS; AttachDbFilename=|DataDirectory|\App_Data\Dentium2.mdf;
             Integrated Security=True;User Instance=True" 
             providerName="System.Data.SqlClient"/>
      
    </connectionStrings>

  <startup>
  	<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

</configuration>
 

Z góry dziękuję za wszelką pomoc.

dam1an
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
  • Postów:1589
0

No niestety VS 2010 takie coś potrafi. Proponuje ściągnąć nowszą wersję jeśli reload nie pomaga, czasami pomagało mi też ponowne uruchomienie VS ale raczej na chwilę.

somekind
To nie jest kwestia VS lecz jego złego użycia.
dam1an
Czasami VS potrafił mi nie pokazywać designera pomimo że Expression Blend robił to dobrze. Ale wtedy rzeczywiście było sporo kontrolek nie tylko jedna.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około godziny
  • Lokalizacja:Wrocław
0

Czemu łączysz się z bazą w designerze?

chemiqs
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 10 lat
  • Postów:2
0

wiesz - jestem początkujący - jeżeli możesz coś zaproponować innego to poproszę.
Jestem na razie na poziomie poznawania c# i WPF i przerabiam http://helion.pl/ksiazki/jezyk-c-2010-i-platforma-net-4-troelsen-andrew,a_0062.htm - także próbuję sobie coś tam napisać swojego i napotkałem na taki problem.

DibbyDum
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Polska, Kraków
0

VS Designer nie jest w stanie wykonać tego kodu bo nie potrafi odnaleźć App.config i zawartego w nim connectionString. Przez to masz problem.
Jak byś był ciekaw gdzie masz wykonywany kod podczas tworzenia okienka w designer dodaj do konstruktora UserControl coś takiego MessageBox.Show(this.GetType().Assembly.CodeBase); i przebuduj projekt.

Btw. Taki przykład był w książce która podałeś?


Yubby dibby dibby dibby dibby dibby dibby dum..

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.