Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak pobrać dane z bazy danych SQL Server w C#?

 public Person SomeMethod(string fName)
        {
            var con = ConfigurationManager.ConnectionStrings["Yourconnection"].ToString();

            Person matchingPerson = new Person();
            using (SqlConnection myConnection = new SqlConnection(con))
            {
                string oString = "Select * from Employees where [email protected]";
                SqlCommand oCmd = new SqlCommand(oString, myConnection);
                oCmd.Parameters.AddWithValue("@Fname", fName);           
                myConnection.Open();
                using (SqlDataReader oReader = oCmd.ExecuteReader())
                {
                    while (oReader.Read())
                    {    
                        matchingPerson.firstName = oReader["FirstName"].ToString();
                        matchingPerson.lastName = oReader["LastName"].ToString();                       
                    }

                    myConnection.Close();
                }               
            }
            return matchingPerson;
        }

Kilka rzeczy, na które warto zwrócić uwagę:użyłem sparametryzowanego zapytania, dzięki czemu Twój kod jest bezpieczniejszy. Sposób, w jaki tworzysz instrukcję select z "where x = "+ Textbox.Text +"" część otwiera cię na wstrzyknięcie SQL.

Zmieniłem to na:

  "Select * from Employees where [email protected]"
  oCmd.Parameters.AddWithValue("@fname", fName);  

Więc to, co zrobi ten blok kodu, to:

Wykonaj instrukcję SQL dla swojej bazy danych, aby sprawdzić, czy jakieś tam są jakieś imiona pasujące do podanego przez Ciebie. Jeśli tak jest, ta osoba będzie przechowywana w obiekcie Person (patrz poniżej w mojej odpowiedzi dla klasy). nie ma dopasowania, właściwości obiektu Person będą null .

Oczywiście nie wiem dokładnie, co próbujesz zrobić, więc jest kilka rzeczy, na które należy zwrócić uwagę:Gdy jest więcej niż 1 osoba z pasującym nazwiskiem, tylko ostatnia zostanie zapisana i zwrócona do Ciebie. chcesz mieć możliwość przechowywania tych danych, możesz dodać je do List<Person> .

Klasa osoby, aby była czystsza:

 public class Person
    {
            public string firstName { get; set; }
            public string lastName { get; set; }
    }

Teraz wywołaj metodę:

Person x = SomeMethod("John");

Następnie możesz wypełnić pola tekstowe wartościami pochodzącymi z obiektu Person w następujący sposób:

txtLastName.Text = x.LastName;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wiele instrukcji INSERT vs. pojedyncza INSERT z wieloma VALUES

  2. MVC4:UserIsInRole — nie można połączyć się z bazą danych SQL Server

  3. Aktualizowanie danych Salesforce za pomocą kursora SQL Server

  4. Najlepszy sposób na wykonanie zagnieżdżonej logiki instrukcji case w SQL Server

  5. Hierarchiczna lista typów zdarzeń wyzwalających w SQL Server 2019