Я хочу вставить запись как новый пользователь, а затем этот или существующий, а затем этот?
я стараюсь различать пользователя и его задачу.
я делаю приложение windows на c# о системе управления физиотерапией.
я хочу получить записи из БД . есть 2 таблицы patient_mstr для нового пользователя и old_patient для существующего пользователя.
я хочу сделать это, если пользователь посещается 2-й раз, то записи будут показаны из patient_mstr, а если visted больше 2-го раза, то reocrds будут показаны из old_patient.
я сделал еще одну логику, которую я понимаю, заранее благодарю вас.
Что я уже пробовал:
private void txtsno_KeyDown(отправитель объекта, KeyEventArgs e)
{
спицы.Открыть();
пробовать
{
если (электронная.Данные KeyCode == Ключи.Входить)
{
// этот запрос для получения только серийного номера.
OleDbCommand cmdt = new OleDbCommand ("select top 1 * from patient_mstr where Contact_no=@Contact_no", cn);
cmdt.Параметры.Добавить (новый OleDbParameter ("@Contact_no", txtsno. Text));
// хранить значение в переменной userexist.
int UserExist = (int)cmdt.Executescalar так();
// этот запрос для посещающих номеров.
Объект oledbcommand вст = новый объект oledbcommand("выбрать количество(*) из patient_mstr где Contact_no=@Contact_no",СП);
вст.Параметры.Добавить (новый OleDbParameter ("@Contact_no", txtsno. Text));
// хранить значение в переменной rec.
int rec = (int)vst.Executescalar так();
//OleDbDataReader dr2 = cmdt.Метода executereader();
if (UserExist == 1)
{
//if (e. KeyCode = = ключи.Входить)
//{
Объект oledbcommand команду cmd = новый объект oledbcommand("выберите P_name,E_date,Main_pain,Sub_pain,V_charge,заплатил,описание от patient_mstr где Contact_no=@Contact_no", СП);
УМК.Параметры.Добавить (новый OleDbParameter ("@Contact_no", txtsno. Text));
// СN.Открыть();
УМК.Метод executenonquery();
OleDbDataReader dr = cmd.Метода executereader();
если (dr. Read())
{
lblapnm.Text = (string)dr["P_name"];
lblapain.Текст = (строки)доктор["Main_pain"] + " , " + (стринг)д-р["Sub_pain"];
lbld.Text = (string)dr ["описание"];
//lblcrgh.Текст = доктор["V_charge"].Метод toString();
//lblpdinf.Text = dr ["оплачено"].Метод toString();
лбладт.Текст = доктор["E_date"].Метод toString();
//pb_old.Изображение = (изображение)доктор["изображения"];
}
др.Рядом();
}
else if (UserExist > 1)
{
Объект oledbcommand команду cmd = новый объект oledbcommand("выберите P_name,E_date,боль,описание,Image_new от old_patient где Contact_no=@Contact_no", СП);
УМК.Параметры.Добавить (новый OleDbParameter ("@Contact_no", txtsno. Text));
// СN.Открыть();
УМК.Метод executenonquery();
OleDbDataReader dr = cmd.Метода executereader();
если (dr. Read())
{
lblapnm.Text = (string)dr["P_name"];
lblapain.Текст = (строки)доктор["Main_pain"] + " , " + (стринг)д-р["Sub_pain"];
lbld.Text = (string)dr ["описание"];
//lblcrgh.Текст = доктор["Total_charge"].Метод toString();
//lblpdinf.Текст = доктор["Total_paid"].Метод toString();
лбладт.Текст = доктор["E_date"].Метод toString();
//pb_old.Изображение = (изображение)доктор["Image_new"];
}
др.Рядом();
lbldtr.Текст = rec.Метод toString();
}
}
//СN.Рядом();
}
catch (исключение c)
{
Ящик для сообщений.Показать (c. сообщение);
}
спицы.Рядом();
}
OriginalGriff
И что?
В чем твоя проблема?
Что это делает, чего вы не ожидали, или не делаете, что вы сделали?
Member 11572517
Извините, сэр, я сделал выше логики, которая не сработала должным образом.
Patrice T
"не сработало должным образом" - это не информативно.
Member 11572517
хорошо, сэр, я очень беден в этих вещах.
Patrice T
Читать это:
Задавать вопросы-это навык[^]
Karthik_Mahalingam
почему вы используете событие txtsno_KeyDown?
это вызовет событие несколько раз, и вы используете сложные объекты внутри.
Member 11572517
хорошо, я научусь этому.
Member 11572517
потому что я хочу ответить как можно быстрее.
Karthik_Mahalingam
о, тогда ладно.