الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إجراء للربط بقاعدة البيانات .. ارجو المساعده

بدأه munita في 19 يونيو 2011 · 8 رد · 547 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اعزائي الأعضاء ..

عندي إجراء مش راضي يضبط في الـ sql

والسؤال يطلب إنشاء إجراء لعرض بيانات مواعيد المرضى (اسم المريض - تاريخ الموعد - وقت الموعد - اسم الطبيب المعالج ) بناء على رقم ملف المريض المدخل

آنا ضبط معي اجراء رقم ملف المريض ، بس باقي الإجراء الأول

ويطلب في السؤال ان يتم عرض اسم المريض بدون تكرار

وعرض تاريخ الموعد - اسم الطبيب المعالج - وقت الموعد في لائحة

وهذي هي الجداول اللي مطلوبه في الإجراء

جدول المواعيد

226445042.jpg

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

630650024.jpg

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

273074520.jpg

آنا جربت هذآ الكود .. لكن ما ضبط


@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

آنتظر ركم يا مبرمجين ^^

تم تعديل هذه المشاركة بواسطة munita في 19 يونيو 2011 في 21:37

#2

السلام عليكم ورحمه الله وبركاته

اختي جرب الكود التالي


Dim conn As New SqlConnection("ConnectionString")
Dim adpt As New SqlDataAdapter("Select PatientName,AppointmentDate,AppointmentTime,DoctorName From Appointment,Doctors,Patients Where Doctors.DoctorID=Appointments.DoctorID And Patients.PatientFileNo=Appointments.PatientID AND Patients.PatientFileNo=@PatientNo",conn)
adpt.SelectCommand.Parameters.AddWithValue("PatientNo",ComboBox1.Text)
Dim ds As New DataSet()
adpt.Fill(ds)
DataGridView.DataSource=ds.Tables(0)

.:: Wish to become better and better ::.

#3

اخ hp helper

يعطيك العآفيه على الكود .. بس المطلوب في السؤال إجراء .. ولازم اتقيد بالسؤال .. لم يطلب داتا سيت او داتا ادابتر

شكراً

#4

السلام عليكم ورحمه الله وبركاته

اختي مو مشكلة هذا هو الاجراء


create proc Appointments
@PatientID nvarchar(50)
as
begin
Select PatientName,AppointmentDate,AppointmentTime,DoctorName From Appointment,Doctors,Patients Where Doctors.DoctorID=Appointments.DoctorID And Patients.PatientFileNo=Appointments.PatientID AND Patients.PatientFileNo=@PatientID
end

ومن ثم هذا هو الكود لإستدعائه


Dim conn As New SqlConnection("ConnectionString")
Dim adpt As New SqlDataAdapter("Appointments",conn)
adpt.SelectCommand.Parameters.AddWithValue("PatientNo",ComboBox1.Text)
Dim ds As New DataSet()
adpt.Fill(ds)
DataGridView.DataSource=ds.Tables(0)

بعدها يمكنك قراءة المعلومات من ال DataSet

.:: Wish to become better and better ::.

#5

مشكوووور يعطيك الف عآآآآآآفيه

بجربه وإن شاآآء الله يضبط

شكراً

#6

مسآء الخير .. مشكور مره ثانيه اخوي

بس حابه اوضح وش سويت لكل اللي بيشوف الموضوع وعنده نفس مشكلتي ^^

هي ما انحلت بس اعتقد المشكله بسيطه جدا

البروسيجر بس غيرت فيه شوي


@PatientID nvarchar(50),@PatientName nvarchar(50) output,@AppointmentDate smalldatetime output,@AppointmentTime char(16) output,@DoctorName nvarchar(50) output
as

Select distinct PatientName,AppointmentDate,AppointmentTime,DoctorName
From Appointment,Doctors,Patients
Where Doctors.DoctorID=Appointments.DoctorID And Patients.PatientFileNo=Appointments.PatientID AND Patients.PatientFileNo=@PatientID
ALTER proc Appointment1

وكود الإستدعآء .. انا مسويت داتا سيت بس عرفت البارامترات


ramacon.Open()
Dim cmd As New SqlClient.SqlCommand
cmd.Connection = ramacon
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "Appointment1"
cmd.Parameters.Add("@PatientID", SqlDbType.NVarChar, 50)
cmd.Parameters("@PatientID").Value = ComboBox1.Text
cmd.Parameters.Add("@PatientName", SqlDbType.NVarChar, 50).Direction = ParameterDirection.Output
cmd.Parameters("@PatientName").Value = TextBox1.Text
cmd.Parameters.Add("@AppointmentDate", SqlDbType.SmallDateTime).Direction = ParameterDirection.Output
cmd.Parameters("@AppointmentDate").Value = ListBox1.Text
cmd.Parameters.Add("@AppointmentTime", SqlDbType.Char, 16).Direction = ParameterDirection.Output
cmd.Parameters("@AppointmentTime").Value = ListBox2.Text
cmd.Parameters.Add("@DoctorName", SqlDbType.NVarChar, 50).Direction = ParameterDirection.Output
cmd.Parameters("@DoctorName").Value = ListBox1.Text
cmd.ExecuteScalar()

Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
ramacon.Close()
End Try
 Try

لكن المشكله الصغيره انو اذا شغلت البرنامج واخترت رقم المريض تطلع لي رسالة الخطأ ..Appointment' invalid object name '

تم تعديل هذه المشاركة بواسطة munita في 20 يونيو 2011 في 01:52

#7

السلام عليكم ورحمه الله وبركاته

اختي ايش المشكله بكودي السابق؟!! اما بالنسبه لكودك اول شيء اسم الجدول Appointments وليس Appointement, وثاني شي ليش قمتي بتمرير عدة وسائط للإجراء المخزن؟!! المفروض تمريري رقم المريض فقط!!

.:: Wish to become better and better ::.

#8

اخوي hp helper كودك مافيه ايييييي مشكله .. بس زي ما قلت لك في السؤال غير مطلوب الداتا ادابتر ..

وثاني شي الوسائط هي المدخلات والمخرجات .. لأني ابيه لما ادخل رقم الملف .. يظهر لي المخرجات الثانيه وبس

ومشكوووور على توضيح مكان ^^

#9

السلام عليكم ورحمه الله وبركاته

اختي مو مشكله ولكن لم توضحي هذا في سؤالك يمكنك تعديل اسم الجدول ومن ثم استخدمتي وسائط من نوع Output كما فعلتي سابقا .. بالتوفيق

.:: Wish to become better and better ::.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…