Jak przekazać wartości klasy do lokalnej Bazy danych?

0

Stworzyłem sobie lokalną bazę danych w WFA, mogę przesyłać do niej wartości z poszczególnych textbox'ów, po wcześniejszym przestawieniu ich Databindings na daną bazę. Ale czy jest możliwość przesłania na przykład wartości elementów klasy? Jeśli tak to prosił bym o jakiś przykład.

0

Nie do końca jest dla mnie zrozumiałe co chcesz zrobić...
Masz jakiś obiekt klasy i chcesz cały ten obiekt wysłać do DB ? Czy o co dokładnie pytasz?

0

Dokładnie tak, tak jak w Liście na zasadzie:

JakaśLista.Add(JakaśKlasa);

Tylko że do bazy danych.

0

Jak bym potrafił pisać te "zapytania" to bym nie prosił o przykład na konkretnym problemie, ogólnie chodzi mi aby mieć jakiś zarys, jak takowe zapytanie ma wyglądać. Nigdzie nie mogę znaleźć w miarę prostego przykładu odwołania się przez "zapytanie" do bazy. Siedzę od 12 przy próbie dodania czegoś nowego, a nie zrobiłem praktycznie nic, właśnie z powodu tych "zapytań".

2
using(SqlConnection connection = new SqlConnection("twój connection string"))
{
        connection.Open();
        string sql =  "INSERT INTO Table1(Column1,Column2) VALUES(@param1,@param2";
        SqlCommand cmd = new SqlCommand(sql,connection);
        cmd.Parameters.Add("@param1", SqlDbType.Int).value = 5;  //jakiś int
        cmd.Parameters.Add("@param2", SqlDbType.Varchar, 50).value = "jakiś string";
        cmd.ExecuteNonQuery();
}

W przypadku jeśli używasz bazy danych od MS.

0

Czyli nie znasz żadnej metody obsługi bazy danych w aplikacji?
I nie znasz też języka SQL?

0

Dokładnie tak, i jako iż jest dostępne budowanie baz danych bezpośrednio w Visual studio, od nich chciałem zacząć naukę. Ale nie mam pojęcia o co chodzi z tymi zapytaniami dlatego jestem totalnie zielony w temacie. A znaleźć coś zrozumiałego w internecie to masakra.

1

Więc zacznij może od nauki SQLa, jak już się dowiesz co to są zapytania to wtedy weź się za pisanie aplikacji.

1
wojas666 napisał(a):

Ale nie mam pojęcia o co chodzi z tymi zapytaniami dlatego jestem totalnie zielony w temacie. A znaleźć coś zrozumiałego w internecie to masakra.

W sensie masowo ludzie giną gdy próbujesz znaleźć kurs podstaw SQL albo obsługi baz danych w Visual Studio?

1

Podpowiem :
Naucz się manipulować zapytaniami SQL na przykładzie np testowej bazy w SQLITE pobranej z tego odnosnika : http://download.vive.net/Northwind.zip
Ta baza to przykładowa baza hurtowni z gotowymi tabelami klientów, zamówień produktów itd.
Jak już opanujesz operacje na tej bazie, łatwo stworzysz własną bazę. SQLite to bardzo dobra jedno plikowa baza danych, nie zawsze trzeba wyciągać armatę aby polować na myszy :-). Jak wynika z mojego doświadczenia baza ta wystarcza do większości zastosowań i ciężko jej zarzucić cokolwiek.
Do tego nauczania możesz użyć dodatku do Firefoxa : SQLite Manager. W nim znajdziesz podglad bazy, środowisko do testowania zapytań i podgląd wyników.
Jak widać na obrazku , wpisujesz przykładowe zapytanie, uruchamiasz je i widzisz wynik tego zapytania.
user image
pozdrawiam
AK

0
string mojePolaczenie =
                "SERVER=" + "localhost" + ";" +
                "DATABASE=" + "osoby" + ";" +
                "UID=" + "root" + ";" +
                "PASSWORD=" + "jakieshaslo" + ";";

            string sql = "SELECT * FROM pracownicy";

            MySqlConnection polaczenie = new MySqlConnection(mojePolaczenie);
            try
            {
                polaczenie.Open();

                using (MySqlConnection cmdSel = new MySqlCommand(sql, polaczenie)) 
                {
                    DataTable dt = new DataTable();
                    MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);
                    da.Fill(dt);
                    dataGridView1.DataSource = dt.DefaultView;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Błąd połączenia!", "Error!");
            }
            polaczenie.Close();

Wywala mi błędy w:

 using (MySqlConnection cmdSel = new MySqlCommand(sql, polaczenie)) 
 MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);

Co jest nie tak?

  • Jeśli stworzyłem bazę danych w MySql server za pomocą "cmd.exe" to gdzie ona mi się zapisała? I czy mogę się z nią normalnie połączyć przez localhost?
1

Jednak wolisz armatę :-), ok
Nie wiem jak instalowałeś serwer MySQL z pomocą "cmd.exe" ? I przypuszczam że nie zainstalowałeś. Polecam zainstalować MySql instalatorem, może to być np WAMP serwer.
Wraz z bazą zainstalowane zostaną programy usługowe jak np consola MYSQL do obsługi bazy przez konsolę. Jeżeli jednak w jakiś nieznany mi sposób z pomocą konsoli poleceń "cmd.exe" zainstalowałes bazę to odpalona baza jest w procesach o nazwie mysqld (o ile pamiętam). Jeżeli proces nie pracuje trzeba go odpalic.

0

Problem rozwiązany troszkę pokombinowałem i oto co wymyśliłem:

                 string mojePolaczenie =
                "SERVER=127.0.0.1;" +
                "DATABASE=osoby;" +
                "UID=root;" +
                "PASSWORD=jakieshaslo;";

            string sql = "SELECT * FROM pracownicy";

            MySqlConnection polaczenie = new MySqlConnection(mojePolaczenie);
            MySqlCommand polacz = polaczenie.CreateCommand();
            try
            {
                polaczenie.Open();
                DataTable dt = new DataTable();
                MySqlDataAdapter da = new MySqlDataAdapter(sql, polaczenie);
                da.Fill(dt);
                dataGridView1.DataSource = dt.DefaultView;
                MessageBox.Show("Połączono pomyślnie!");
            }
            catch (Exception)
            {
                MessageBox.Show("Błąd połączenia!", "Error!");
            }
            polaczenie.Close();

Skorzystałem z WAMP'a, pora na naukę zapytań od podszewki :)

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