Połączenie z bazą sql

0

Szukałem, patrzyłem ale jakoś nie dociera do mnie to co jest w necie...

może ktoś jak dla głupiego napisać mi w jaki sposób stworzyć bazę danych mdf w visual studio w języku c# ?

chce zrobić taką bazę i dodawać do niej rekordy. stworzyć chyba umiem.. bo sie tworzy mojanazwa.mdf
problem pojawia się gdy chce coś dodać do tej bazy w poziomu kodu..

nie mam pojęcia jak poprawnie skonfigurować connectionstringa aby mi wszystko dodawało.

w app.config mam tak:

<appSettings>
    <add key="conn" value="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bazauserow.mdf;Integrated Security=True;User Instance=True""/>

  </appSettings>

<connectionStrings>

        <add name="cupit.Properties.Settings.bazauserowConnectionString1"
            connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bazauserow.mdf;Integrated Security=True;User Instance=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

w bazie jest tabela o nazwie TABELA i kolumnach id, A, B

i teraz chce coś do tej tabeli dodać.

robie tak:


SqlCommand dodaj = new SqlCommand();
                        dodaj.Connection = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
                        dodaj.CommandText = "INSERT INTO TABELA (A, B)" +
                            " VALUES ('" + t_1.Text + "', '" + t_2.Text + "', '" )";
                        dodaj.Connection.Open();
                        dodaj.ExecuteNonQuery();
                        dodaj.Connection.Close();

i nic... błędu nie wywala a tabela jak pusta była tak jest... pomoże ktoś ?

0

ConfigurationSettings.AppSettings["conn"] zamien na ConfigurationManager.ConnectionStrings["cupit.Properties.Settings.bazauserowConnectionString1"].ConnectionString

connection stringa wez z server explorera z wlasciwosci bazy ,albo wyklikaj w sqldatasourcie.

zapytanie tez masz trochę dziwnie stworzone zrob SqlParametry i np. @id

0

kurde cos nie tak ..
ConfigurationManager
mi pokreśla z blędem i info, ze nie istnieje coś...

connection stringa wez z server explorera z wlasciwosci bazy ,albo wyklikaj w sqldatasourcie.

no znalazłem coś takiego:
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\uzytkownicy.mdf;Integrated Security=True;User Instance=True
tylko co z tym zrobić ? bo nie bardzo rozumiem...

zapytanie tez masz trochę dziwnie stworzone zrob SqlParametry i np. @id

to już chyba dla mnie za trudne ;]

0

Widać ,że zaczynasz z .NET :) Prawdopodobnie nie dodałeś usinga.

Dodaj using System.Configuration; pod innymi usingami i powinno nie wywalać błędu, a na przyszłość wciskaj alt+F10 będzie szybciej. Chyba ,ze to nie o to chodzi bo przy ConfigurationSection Ci błędu nie wywaliło.

<appSettings>
    <add key="conn" value="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bazauserow.mdf;Integrated Security=True;User Instance=True""/>

  </appSettings>
  • wywal ten klucz. Connection stringa nie powinno się, a może nawet nie można przechowywać w zmiennych aplikcji. Jest do tego specjalna sekcja Connection Strings i masz tam poprawnie zapisanego connection stringa tylko nazwa niepotrzebnie taka dluga daj se jakies "Db1"

Ja bym twój kod zapisał mniej więcej tak (po zmianie nazwy connection stringa):

 string query = "INSERT INTO TABELA (A, B) VALUES (@a, @b)"
        SqlCommand dodaj = new SqlCommand(query);
        dodaj.Parameters.Add(new SqlParameter("a",t_1.Text ));
        dodaj.Parameters.Add(new SqlPatameter("b",t_2.Text));
        dodaj.CommandType = CommandType.Text;
        using (SqlConnection scon =new SqlConnection(ConfigurationManager.ConnectionStrings["Db1"].ConnectionString))
        {
            dodaj.Connection = scon;
            scon.Open();

            dodaj.ExecuteNonQuery();
       }

Chociaż pewnie da się to jeszcze lepiej bądź prościej zapisać :)

0

Nom i przeszukaj dokladnie internet,msdna, jakies tutoriale czy książki ,bo nie trzeba być jasnowidzem ,żeby zauważyć ,że jeszcze tego dokladnie nie zrobiłeś ;-)

0

no włąsnie problem mam taki, że mi wywala błąd z usingiem przy ConfigurationManager. Może jakiś inny using jest ?

0

poszukałem troche.

zrobiłem tak:

dodałem:

 public static class ConfigurationManager
        {
        }

i teraz mi się podświetlił ConnectionStrings

Error   3   'cupit.Form1.ConfigurationManager' does not contain a definition for 'ConnectionStrings'    C:\Users\Maciej\Desktop\cupit\cupit\Form1.cs    42  75  cupit

jak to wywale to mam:

Error   3   The name 'ConfigurationManager' does not exist in the current context   C:\Users\Maciej\Desktop\cupit\cupit\Form1.cs    40  54  cupit

;///

0

Wklej cały kod a nie kombinuj z tworzeniem klas o nazwach takich jak wbudowane klasy, których chcesz użyć. :|

0

no przeciez wkleilem... problem taki, ze wyskakuje mi blad...

0

Jeśli tych parę linijek to jest cały Twój plik z kodem, to nic dziwnego, że się nie kompiluje. ;]

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