Dane z bazy danych SQL wykorzystane w programie

0

Witam
Mam pytanie odnośnie wyciągnięcia informacji z bazy danych i wykorzystania jej w programie.
Jak w C# podłączyć się do bazy danych SQL. Np bazy Nortwind lub Pubs - czyli demonstracyjnych baz jakie daje microsoft razem z SQL 2000.
Chciałbym wyświetliś w programie zawartość jakiejkolwiek z tablic z bazy.

pozdrawiam

0

Dość enigmatycznie napisałeś.
Nie istnieje baza danych SQL - to jest język zapytań. Ale z dalszej części można zrozumieć, że chodzi Ci o MS SQL Server.

Oto kod w C#

//deklaracja obiektu SqlConnection
private System.Data.SqlClient.SqlConnection MSDEconn;

//przykład wykonania zapytania: insert, update lub delete - czyli "nonQuery"
MSDEconn.Open();
SqlCommand MSDEcommand = new SqlCommand();
MSDEcommand.Connection = MSDEconn;
MSDEcommand.CommandText = "UPDATE tabela SET a=1 WHERE id=3";
try
{
	MSDEcommand.ExecuteNonQuery();
}
catch (Exception ex)
{
	//wyłapanie błędu - treść błędu wyłuskujemy jak poniżej:
	//ex.Message
}

MSDEconn.Close();
//-----------------------------

//przykład wykonania zapytania: select - czyli "query"
MSDEconn.Open();
SqlCommand MSDEcommand = new SqlCommand();
MSDEcommand.Connection = MSDEconn;
MSDEcommand.CommandText = "SELECT a, b FROM table;";
SqlDataReader reader = MSDEcommand.ExecuteReader();
if (reader.Read())
	ver = reader.GetInt32(0).ToString() + "." + reader.GetInt32(1).ToString();
reader.Close();
MSDEconn.Close();

to są przykłady na żywca wyciągnięte z mojego projektu [wyciąłem część nieistotną dla tego wątku]
reader przy select jest dobry dla pojedynczych wartości - jeśli zwracasz większą część tabeli zdecydowanie polecam olać readera i zwrócić DataAdapter - wtedy można go przekazywać po zamknięciu zapytania!

0

Niestety nie działa :(

Nie mam żadnego okna logowania do bazy, wyboru bazy danych.
Po uruchomieniu mam błąd:

An unhandled exception of type 'System.InvalidOperationException' occurred in system.data.dll

Additional information: The ConnectionString property has not been initialized.

0

An unhandled exception of type 'System.InvalidOperationException' occurred in system.data.dll

Additional information: The ConnectionString property has not been initialized.

W konstruktorze obiektu SqlConnection, należy podać owy "ConnectionString", czyli łańcuch tekstowy, który określa adres IP, pod którym znajduje się baza, instancję bazy, domyślą bazę na której pracujemy, sposób autoryzacji...

moze on wygladac np. tak
const string CONN_STRING = @"Server=192.168.0.102\MYSS2000;Initial Catalog=Pubs;User Id=sa;Password=haslo";

a przykladowy kod tak (oczywiscie dla inej bazy - nie Pubs):

using (SqlConnection con = new SqlConnection(CONN_STRING))
{
SqlCommand query = con.CreateCommand();
query.CommandText = "SELECT id_wydzial, nazwa FROM Wydzialy ORDER BY nazwa";
con.Open();
using (SqlDataReader reader = query.ExecuteReader())
{
while(reader.Read())
{
//tu odczyt poprzez indexer obiektu reader
//np. (int) reader["id_wydzial"];
//lub
//reader.GetInt32(0);
}
}
con.Close();
}

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