Bład w nawiązywaniu połączenia z bazą danych

0

Kod jak poniżej:

 
 void fill_datagrid()
        {
            try
            {
                SqlConnection myconnection = new SqlConnection("Data Source=(local);"+ "Initial Catalog=data;");
                myconnection.Open();
                SqlCommand mycommand = new SqlCommand("SELECT * FROM main_table", myconnection);
                SqlDataAdapter sda = new SqlDataAdapter(mycommand);
                DataTable dt = new DataTable("mm");
                sda.Fill(dt);
                dtgrid1.ItemsSource= dt.DefaultView;
               
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            
            }
        }

Niestety to nie działa, wyskakuje mi błąd, że nie udało się nawiązać połączenia. Bład jest związany z sqlcommand, ale nie wiem sam do końca co tu jest źle?
Baza danych znajduje się w katalogu programu, jest to plik o nazwie data.sdf, z jedną tabelą o nazwie main_table.

0

W załączniku kod błędu.

Zmieniłem kod na:

 void fill_datagrid()
        {
            try
            {
                SqlConnection myconnection = new SqlConnection("Server=./SQLEkspress;"+"AttachDbFilename=data.sdf;");
                myconnection.Open();
                SqlCommand mycommand = new SqlCommand("SELECT * FROM main_table", myconnection);
                SqlDataAdapter sda = new SqlDataAdapter(mycommand);
                DataTable dt = new DataTable("mm");
                sda.Fill(dt);
                dtgrid1.ItemsSource= dt.DefaultView;
               
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            
            }
        }

i ciągle jest to samo. Jakieś jeszcze pomysły?

0

Na stronie msdn jest napisane, iż AttachDBFile działa tylko dla plików z rozszerzeniem .mdf, a ja tu mam sdf. Jest na to jakiś inny sposób?

0
  1. Jak już to SQLExpress, ne SQLEkspress
  2. A SDF to nie jest czasem CE Edition? Pewnie... http://www.connectionstrings.com/sql-server-compact/
    Więc nawet nie tych obiektów musisz używać... Musisz zainstalować driver do obsługi CE. Do pobrania ze strony MS.
0

Dzięki Marcin.Miga, właśnie o to chodziło. No i sprawa się wyjaśniła.

1 użytkowników online, w tym zalogowanych: 0, gości: 1