Zwracanie wartości z zapytania SQL do pola TextBox

0

Witam serdecznie przepraszam ale w temacie C# dopiero raczkuję mam takie pytanie mianowicie mam dwa pola: textbox1 oraz texbox2 do których chcę by podstawiały się wartości (powierzchnia powiatu oraz liczba ludności powiatu) po wykonaniu zapytania do bazy SQL.
Wykonuje zapytanie SQL do bazy gdzie zawsze zwraca mi jeden rekord z danymi.

         private void button1_Click(object sender, EventArgs e)
        {
            string wojewodztwo = comboBox1.Text;
            string powiat = comboBox2.Text;


            using (SqlConnection cnn = new SqlConnection(@"Data Source=localhost;Initial Catalog=ManageSales;Persist Security Info=True;User ID=Testowe;Password=Testowe123"))

            {
                using (SqlCommand command = new SqlCommand("SELECT powierzchnia, liczba_ludnosci FROM CalculatorValue WHERE wojewodztwo=" + "'" + @wojewodztwo + "' AND powiat=" + "'" + @powiat + "'", cnn))
                {
                    command.Parameters.AddWithValue("@wojewodztwo", wojewodztwo);
                    command.Parameters.AddWithValue("@powiat", powiat);
					
                    cnn.Open();
                    SqlDataAdapter SqlDataAdap = new SqlDataAdapter(command);
                    DataTable dtRecord = new DataTable();
                    SqlDataAdap.Fill(dtRecord);
                    dataGridView1.DataSource = dtRecord;
                    cnn.Close();
                }

            }

      

        }

I teraz mam te dwa pola TextBox1 i TextBox2 w jaki sposób mogę przypisać wartości do tych pól po wykonaniu zapytania?? Jak wyciągnąć te wartości z zapytania i przypisać je do zmiennej by potem móc je przypisać do pola tekstowego jak poniżej??

textBox1.Text=zmienna1
textBox2.Text=zmienna2

0

Witam,

A nie możesz do tego dobierać się mniej więcej tak:

public class Record{
public string Powierzchnia {get;set;}
public string LiczbaLudnosci {get;set;}
}

private Record GetData(string wojewodztwo, string powiat)
{
Record record = null;

var connectionString = @"Data Source=localhost;Initial Catalog=ManageSales;Persist Security Info=True;User ID=Testowe;Password=Testowe123";
 
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT powierzchnia, liczba_ludnosci FROM CalculatorValue WHERE wojewodztwo=@wojewodztwo AND powiat=@powiat'";
command.Parameters.AddWithValue("@wojewodztwo", wojewodztwo);
command.Parameters.AddWithValue("@powiat", powiat);

using(var reader = command.ExecuteReader())
{
  while(reader.Read())
  {
  var powierzchnia = reader.GetString(reader.GetOrdinal("powierzchnia"));
  var liczbaLudnosci = reader.GetString(reader.GetOrdinal("liczba_ludnosci"));
  
  record = new Record{Powierzchnia = powierzchnia, LiczbaLudnosci = liczbaLudnosci}
  }
}
}
}
return record;
} 

Pozdrawiam,

mr-owl

0

Zmieniłem login i hasło do serwera oraz nazwę serwera, a autorowi wątku zalecam zmianę hasła.

0

Dzięki za odpowiedź skorygowałem swój skrypt o wpis:

    SqlDataReader read = command.ExecuteReader();

                    {
                        while (read.Read())
                        {
                            textBox1.Text = (read["powierzchnia"].ToString());
                            textBox2.Text = (read["liczba_ludnosci"].ToString());

                        }
                    }

I też poszło ale Twoje rozwiązanie jest bardziej profesjonalne z użyciem klasy. Ja dopiero raczkuję i się uczę ale dzięki za podpowiedź na spokojnie jutro sobie to przeanalizuje dokładnie by wiedzieć na przyszłość ;)

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