پست پنجم: پیدا کردن مخاطب با جستجو (WHERE و LIKE)
در این پست قصد داریم تا نجوه جستجو در بانک اطلاعات را ارائه دهیم.
WHERE و LIKE استفاده میکنیم.LIKE به ما اجازه میده که عین کلمه رو ندونیم. مثلاً اگه بنویسیم Ali% یعنی هر چیزی که با Ali شروع میشه. علامت % یعنی "هر تعداد کاراکتری بعدش".public void SearchContacts(string searchTerm)
{
string connectionString = "Data Source=PhoneBook.db";
using var connection = new SqliteConnection(connectionString);
connection.Open();
// جستجو در سه فیلد با استفاده از OR و LIKE
string searchQuery = @"
SELECT Id, FirstName, LastName, PhoneNumber
FROM Contacts
WHERE FirstName LIKE @search
OR LastName LIKE @search
OR PhoneNumber LIKE @search";
using var command = new SqliteCommand(searchQuery, connection);
// اضافه کردن % به اول و آخر جستجو تا هر جا که این کلمه بود رو پیدا کنه
command.Parameters.AddWithValue("@search", "%" + searchTerm + "%");
using var reader = command.ExecuteReader();
Console.WriteLine($"--- نتایج جستجو برای: {searchTerm} ---");
while (reader.Read())
{
Console.WriteLine($"{reader.GetString(1)} {reader.GetString(2)} - {reader.GetString(3)}");
}
}