Cześć.
Napisałem kawałek kodu, który wykonuje selecta na danej bazie danych.
oto ten kod:
string sCxn = @"server=MyServ;Integrated Security=SSPI; database=BazaDanych";
string insertQuery = "select * from klienci";
SqlConnection myConnection = new SqlConnection(sCxn);
try
{
SqlCommand myCommand = new SqlCommand(insertQuery, myConnection);
myConnection.Open();
using (SqlDataReader reader = myCommand.ExecuteReader())
{
while (reader.Read())
MessageBox.Show(reader.GetSqlValue(7).ToString());
reader.Close();
}
MessageBox.Show("ok");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
myConnection.Close();
}
Nie wiem jednak, czy nie dałoby się tego kodu poprawić. Szczególnie ten fragment:
using (SqlDataReader reader = myCommand.ExecuteReader())
{
while (reader.Read())
MessageBox.Show(reader.GetSqlValue(7).ToString());
reader.Close();
}
Widzimy tu, że na sucho podaję kolumnę nr 7 z której pobieram dane. Zaletą funkcji GetSqlValue jest to, że przynajmniej nie wywala się przy wartościach null.
Jednak, czy pobranie i przeczytanie danych z ms sql dałoby się zrealizować nieco bardziej estetycznie?
ps: nie chodzi o zwięzłość kodu początkowego, bo to tylko dla pokazu jest w takiej postaci, tak by wiadomo było co się dzieje po kolei.
Z góry dziękuję za rady.