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;
}
Beberapa hal yang perlu diperhatikan di sini:Saya menggunakan kueri parametris, yang membuat kode Anda lebih aman. Cara Anda membuat pernyataan pilih dengan "where x = "+ Textbox.Text +""
bagian membuka Anda untuk injeksi SQL.
Saya telah mengubah ini menjadi:
"Select * from Employees where [email protected]"
oCmd.Parameters.AddWithValue("@fname", fName);
Jadi apa yang akan dilakukan blok kode ini adalah:
Jalankan pernyataan SQL terhadap database Anda, untuk melihat apakah ada nama depan yang cocok dengan yang Anda berikan. Jika demikian, orang itu akan disimpan dalam objek Person (lihat di bawah dalam jawaban saya untuk kelas). Jika ada tidak cocok, properti objek Person akan menjadi null
.
Jelas saya tidak tahu persis apa yang Anda coba lakukan, jadi ada beberapa hal yang perlu diperhatikan:Ketika ada lebih dari 1 orang dengan nama yang cocok, hanya yang terakhir yang akan disimpan dan dikembalikan kepada Anda. Jika Anda ingin dapat menyimpan data ini, Anda dapat menambahkannya ke List<Person>
.
Kelas orang untuk membuatnya lebih bersih:
public class Person
{
public string firstName { get; set; }
public string lastName { get; set; }
}
Sekarang untuk memanggil metode:
Person x = SomeMethod("John");
Anda kemudian dapat mengisi kotak teks Anda dengan nilai yang berasal dari objek Person seperti:
txtLastName.Text = x.LastName;