درود دوستان گرامی
برنامه من 3 لایه هست، برای برنامه ام یک جستجوی ساده قرار دادم ولی توی نوشتن کدش به مشکل بر خوردم، برای برنامه قبلیم که برنامه ای ساده تر بود، کدهارو پشت هر فرم می نوشتم (بشدت مبتدی تر از الان بودم) برای مثال جستجو را به شکل زیر نوشتم و کار می کردم ولی در برنامه جدید کمی به مشکل بر خوردم
لطفا اگر امکانش هست کدم را اصلاح کنید
سپاس از همه اساتید عزیز
کدهای قدیمی من
public void SearchLastNameFromDatabase() //جستجو اعضا بر اساس نام خانوادگی
{
SqlCeConnection myConnection = new SqlCeConnection();
myConnection.ConnectionString = @"Data Source=K:\Programs\DateBases\GhazaiiDB.sdf";
SqlCeCommand myCommand = new SqlCeCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "Select * from [User] where LastName Like @LastName";
myCommand.Parameters.AddWithValue("@LastName", "%" + txtSearchParameters.Text + "%");
DataTable myDataTable = new DataTable();
SqlCeDataAdapter myDataAdapter = new SqlCeDataAdapter();
myDataAdapter.SelectCommand = myCommand;
myDataAdapter.Fill(myDataTable);
dataGridView1.DataSource = myDataTable;
}
کدهای جدید که باید اصلاح بشوند
public bool SearchLastNameFromDatabase() //جستجو اعضا بر اساس نام خانوادگی
{
string command = "Select * from [Contact] where [LastName] Like @LastName";
List<SqlCeParameter> parametersList = new List<SqlCeParameter>();
var LastNameParameter = new SqlCeParameter("@LastName", "%" + this.LastName + "%");
parametersList.Add(LastNameParameter);
var db = new DataAcsess.DatabaseManager();
var result = db.ExecuteScalar(command, parametersList);
if (result == 1)
{
return true;
}
else
return false;
}
ولی میدونم کد رو اشتباه نوشتم، یکی از دوستان گفت که به جای ExecuteScalar از ExecuteNonequery استفاده کنید ولی متوجه نشدم باید چی کنم
ویژال استودیو
زبان: سی شارپ
دیتابیس: اس کیو ال کامپکت