السلام عليكم ورحمة الله وبركاته
اعزائي الأعضاء ..
عندي إجراء مش راضي يضبط في الـ sql
والسؤال يطلب إنشاء إجراء لعرض بيانات مواعيد المرضى (اسم المريض - تاريخ الموعد - وقت الموعد - اسم الطبيب المعالج ) بناء على رقم ملف المريض المدخل
آنا ضبط معي اجراء رقم ملف المريض ، بس باقي الإجراء الأول
ويطلب في السؤال ان يتم عرض اسم المريض بدون تكرار
وعرض تاريخ الموعد - اسم الطبيب المعالج - وقت الموعد في لائحة
وهذي هي الجداول اللي مطلوبه في الإجراء
جدول المواعيد

جدول معلومات الأطباء

جدول معلومات المرضى

آنا جربت هذآ الكود .. لكن ما ضبط
@PatientID nvarchar(50),@PatientName nvarchar(50) output,@AppintmentDate smalldatetime output,
@AppointmentTime char(16) output,@DoctorName nvarchar(50) output
as
select PatientName,dbo.Appointments.PatientID=@PatientID,dbo.Doctors.DoctorName=@DoctorName,AppintmentDate=@AppintmentDate,AppointmentTime=@AppointmentTime,dbo.Patients.PatientFileNo=@PatientID
from dbo.Appointments join dbo.Patients
on dbo.Patients.PatientFileNo=dbo.Appointments.PatientID
join dbo.Doctors
on dbo.Doctors.DoctorName=dbo.Appointments.PatientID
where PatientID=@PatientID
create proc Appointments
وهذآ الكود
Try
RamaCon.Open()
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = RamaCon
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "Appointments"
cmd.Parameters.Add("PatientID", SqlDbType.NVarChar)
cmd.Parameters("@PatientID").Value = ComboBox1.Text
cmd.Parameters.Add("@DoctorName", SqlDbType.NVarChar, 50).Direction = ParameterDirection.Output
cmd.Parameters.Add("@AppintmentDate", SqlDbType.SmallDateTime).Direction = ParameterDirection.Output
cmd.Parameters.Add("@AppintmentTime", SqlDbType.Char, 16).Direction = ParameterDirection.Output
TextBox1.Text = cmd.Parameters("@DoctorName").Value
TextBox2.Text = cmd.Parameters("@AppintmentDate").Value
TextBox3.Text = cmd.Parameters("@AppintmentTime").Value
cmd.ExecuteScalar()
RamaCon.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Tryآنتظر ركم يا مبرمجين ^^