C# Połączenie z bazą danych MSSQL i wykonanie zapytania

0

Witam,

Rozpoczynam dopiero swoją przygodę z programowanie i już mam problem :). Konkretniej chciałbym się połączyć z bazą danych przez ODBC i w jednym wypadku zwrócić wartość zapytania w metodzie, a w drugim wykonać zapytanie wywołując metodę.

Wykonywanie zapytania, przy wywołaniu metody

public string cos(){ SqlConnection conn = new SqlConnection(ODBC.Ustawienia); conn.Open(); SqlCommand command = conn.CreateCommand(); command.CommandText = "TRUNCATE TABLE test";

return CommandText;
}



Zwrócenie wartości zapytania

<code class="c#">
public string cos(){
SqlConnection conn = new SqlConnection(ODBC.Ustawienia);
conn.Open();
SqlCommand command = conn.CreateCommand();
command.CommandText = "Select COUNT(*) FROM test";

return CommandText;
}

Ten kod jest zły, ale może ktoś byłby w stanie mi pomóc i pokazać jak powinna wyglądać metoda zawierająca poprawny kod do połączenia z bazą, w jaki sposób zwrócić wartość zapytania (ogólnie chciałbym żeby było int, ale z tego co czytałem można później zrobić Convert.ToIn32()) oraz wywołać metodę tak żeby wykonało się zapytanie, które ona zawiera.

0

http://msdn.microsoft.com/pl-pl/library/system.data.sqlclient.sqlcommand(v=vs.110).aspx
Zapytanie należy wykonać: ExecuteReader lub ExecuteScalar lub ExecuteNonQuery, zależy jakiej odpowiedzi oczekujesz z bazy.
a na koniec zamknąć połączenie.
użycie try-catch-finally lub bloku using wskazane.

update:
tak to jest jak się czyta po łebkach

Jeśli chcesz połączyć się z bazą ODBC to musisz użyć innego providera, powinna interesować cię przestrzeń nazw:
http://msdn.microsoft.com/pl-pl/library/System.Data.Odbc(v=vs.110).aspx
Model jest klas jest analogiczny do tego używanego dla sql servera tylko z przedrostkiem odbc a nie sql.
Ogólnie ADO .NET zapewnia ci poziom abstarkcji i możesz używać klas bazowych z System.Data (Connection, Command, ...) jeśli ta sama aplikacja ma raz używać bazy ODBC, innym razem MS SQL,czy jeszcze czegoś innego.

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