Я добавил новый столбец Nvarchar
в таблицу пациентов для хранения арабских имен и его исправности, но когда я выбираю данные для просмотра данных с помощью хранимой процедуры, он показывает только строки с арабскими именами и не показывает строкиесли арабское имя равно нулю.
Ошибка в условии where, когда я добавил столбец Nvarchar
к условию, он показывает в datagridview только строки со значением в новом столбце patient_Name_Arabic
, но при удалении столбцаpatient_Name_Arabic
из условия where
, затем все данные, отображаемые в datagridview.
В чем ошибка и как показать все данные в datagridview, используя это условие где?
Это мойхранимая процедура:
ALTER PROCEDURE [dbo].[GET_ALL_PATIENTS]
@ID VARCHAR(50)
AS
SELECT
[Patient_No] as 'Medical Record No',
patient_Name as 'Patient Name',
age as 'Patient Age',
Mobile as 'Patient Mobile',
Email as 'Patient Email',
Address,
Gendername as 'Gender',
Patient_id as 'Patient ID',
natname as 'Nationality',
patient_Name_Arabic as 'Arabic Name'
FROM
Patients
INNER JOIN
gender on gender.genderid = Patients.Gender
INNER JOIN
nationality on nationality.natid = Patients.natid
WHERE
Patient_Name + patient_Name_Arabic + CONVERT(VARCHAR, [Age]) LIKE '%' + @ID + '%'
У меня есть текстовое поле поиска в моем приложении, мне нужно искать данные, но при первой загрузке мне нужно показать все данные в datagridview
Это код вызова параметра:
public DataTable GET_ALL_PATIENTS(string ID)
{
DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
DataTable dt = new DataTable();
SqlParameter[] Param = new SqlParameter[1];
Param[0] = new SqlParameter("@ID", SqlDbType.VarChar, 50);
Param[0].Value = ID;
dt = DAL.SelectData("GET_ALL_PATIENTS", Param);
DAL.close();
return dt;
}
это код при открытии страницы
this.patientsGrid.DataSource = patient.GET_ALL_PATIENTS("");
в чем ошибка, как решить эту проблему?