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;
}
Một số điều cần lưu ý ở đây:Tôi đã sử dụng truy vấn tham số hóa, điều này giúp mã của bạn an toàn hơn. Cách bạn thực hiện câu lệnh select với "where x = "+ Textbox.Text +""
một phần mở ra cho bạn cách tiêm SQL.
Tôi đã thay đổi điều này thành:
"Select * from Employees where [email protected]"
oCmd.Parameters.AddWithValue("@fname", fName);
Vì vậy, những gì khối mã này sẽ làm là:
Thực thi một câu lệnh SQL dựa trên cơ sở dữ liệu của bạn, để xem liệu có bất kỳ tên nào khớp với tên bạn đã cung cấp hay không. không khớp, các thuộc tính của đối tượng Person sẽ là null
.
Rõ ràng là tôi không biết chính xác bạn đang cố gắng làm gì, vì vậy có một số điều cần chú ý:Khi có nhiều hơn 1 người có tên trùng khớp, chỉ người cuối cùng sẽ được lưu và trả lại cho bạn. muốn có thể lưu trữ dữ liệu này, bạn có thể thêm chúng vào List<Person>
.
Lớp cá nhân để làm cho nó sạch hơn:
public class Person
{
public string firstName { get; set; }
public string lastName { get; set; }
}
Bây giờ để gọi phương thức:
Person x = SomeMethod("John");
Sau đó, bạn có thể lấp đầy các hộp văn bản của mình bằng các giá trị đến từ đối tượng Person như sau:
txtLastName.Text = x.LastName;