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

متغير يتزايد أتوماتيك أريد أن أرسله لقاعدة البيانات

بدأه The.Eagle في 26 سبتمبر 2011 · 12 رد · 686 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اريد يا أخوان مساعدتكم في برنامجي

صممت برنامج لمستشفى وأريد بمجرد اضافة المريض أن يضاف رقم الملف بعد آخر رقم في القاعدة ولا يتكرر الرقم اتواماتيك يعني اليوزر ما يدخله

 cmd.CommandText = "Insert into Table1 Values ('" + num_file + "','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox7.Text +
                            "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "')";

حاولت بالـ try ولم استطع

أرجوا مساعدتكم وشكرا

#2

السلام عليكم....

اخي ان كنت تقصد انك تريد ان يكون لكل مريض رقم معين مميز مختلف عن غيره في قاعدة البيانات لا ييستطيع اي مستخدم ادخاله....و يكون اوتوماتيكي

فهذا الامر يتم ضبطه عن طريق sql ....

عن طريق انشاء حقل جديد ليكن مثلا patientID...و من ثم جعله primary key

Currently working on ASP.net ..... come Back Soon

#3

جزاك الله خير

أنا استخدم اكسس

أنــا نسيت إني أستطيع عملها من الاكسس " ترقيم تلقائي "

ولكن واجهتني مشكلة أخرى وهـي

" عدد حقول الاستعلام والوجهة غير متساوية " أعرف السبب لأني مسحت num_file من الكود في الرد السابق

لكن كيف أقول للبرنامج أن لا أريد إرسال رقم

#4
The.Eagle كتب:

جزاك الله خير

أنا استخدم اكسس

أنــا نسيت إني أستطيع عملها من الاكسس " ترقيم تلقائي "

ولكن واجهتني مشكلة أخرى وهـي

" عدد حقول الاستعلام والوجهة غير متساوية " أعرف السبب لأني مسحت num_file من الكود في الرد السابق

لكن كيف أقول للبرنامج أن لا أريد إرسال رقم

فقط لا ترسل رقم ببساطة...

قم بعمل ذلك الحقل auto incremet ...و ستضع قاعدة البيانات الرقم بنفسها داخل الحقل فور ادخالك لمريض جديد

لا داعي لاي عمل اضافي

فقط اجعل الحقل....primary key و Auto incremet.....و طبعا يجب ان يكون not null ....و لا ترسل له اي قيمة....اعتبره غير موجود

1

Currently working on ASP.net ..... come Back Soon

#5

أشكرك أخي

ولكن ظهرت لي رسالة الخطـأ مرة أخرى

092611090934lkpx70e.png

وإذا حذفت رقم الملف من قاعدة البيانات يشتغل البرنامج

لكن إذا أضفتها يقول لي غير متساوية

هذه صورة للكود

0926110909343y0k65f4ev4z439.png

وهذه لقاعدة البيانات

0926110909348sadloqa3flgedu7zrwz.png

#6

بص اكتب جملة insert دى وكمل الكود عادى

Com ............. .CommandText = String.Format("INSERT INTO ............. VALUES('{0}',{1},{2},{3} ......................)", textbox1.Text, textbox2.Text, .......................);

if (Conn.State == ConnectionState.Closed) Conn.Open();

Com .............. .ExecuteNonQuery();

Conn.Close();

حط الكود ده فى المكان المناسب وكمل كودك عادى وجرب كده وقولى

وشكرا

−1
#7
صوت الماضى كتب:

بص اكتب جملة insert دى وكمل الكود عادى

Com ............. .CommandText = String.Format("INSERT INTO ............. VALUES('{0}',{1},{2},{3} ......................)", textbox1.Text, textbox2.Text, .......................);

if (Conn.State == ConnectionState.Closed) Conn.Open();

Com .............. .ExecuteNonQuery();

Conn.Close();

حط الكود ده فى المكان المناسب وكمل كودك عادى وجرب كده وقولى

وشكرا

أشكرك يا أخي جزيل الشكر

ولكـن لم أفهم الكود ماذا أضيف بالضبط

أتمنى ألا أتعبك

أسأل الله أن يوفقك وييسر أمرك

تم تعديل هذه المشاركة بواسطة The.Eagle في 26 سبتمبر 2011 في 22:56

#8

مكان النقاط حضرتك تكتب الاسامى اللى انت عايزها وتحط الكود ده فى مكان اللى هيخليك تضيف البيانات سواء كان button او اى جزء انت عمله للاضافة

وشكرا

1
#9

أشكرك على تعبك ولكن للأسف لم يحل المشكلة

#10

السلام عليكم....جرب التالي

اولا...قم بتغيير اسماء الحقول الى اللغة الانكليزية حتى يسهل التعامل معها....,

مثلا : افترض انك غيرت اسم المريض و سميت الحقل a......و الحقل العمر سميته b....الخ يكون لديك (مثلا طبعا) a,b,c,d,e,f,g

(لست مجبرا بتغييير الحقول و لكن هذا من اجل سهولة الكتابة......)

ثانيا : اظن انه عليك ان تكتب الحقول التي سترسل لها القيم بعد اسم الجدول Table1

كالتالي...مع اعتبار اسماء الحقول a,b,.....

  cmd.CommandText = "Insert into Table1 (a,b,c,d,e,f,g)   Values ('"+ textBox1.Text + "'," + textBox2.Text +",'" + textBox7.Text +
                           "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "')

تم تعديل هذه المشاركة بواسطة Hisham_IT في 27 سبتمبر 2011 في 19:39

1

Currently working on ASP.net ..... come Back Soon

#11
Hisham_IT كتب:

السلام عليكم....جرب التالي

اولا...قم بتغيير اسماء الحقول الى اللغة الانكليزية حتى يسهل التعامل معها....,

مثلا : افترض انك غيرت اسم المريض و سميت الحقل a......و الحقل العمر سميته b....الخ يكون لديك (مثلا طبعا) a,b,c,d,e,f,g

(لست مجبرا بتغييير الحقول و لكن هذا من اجل سهولة الكتابة......)

ثانيا : اظن انه عليك ان تكتب الحقول التي سترسل لها القيم بعد اسم الجدول Table1

كالتالي...مع اعتبار اسماء الحقول a,b,.....

  cmd.CommandText = "Insert into Table1 (a,b,c,d,e,f,g)   Values ('"+ textBox1.Text + "'," + textBox2.Text +",'" + textBox7.Text +
                           "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "')

أشكرك أخي الكريم لقد فهمت الآن ما كان يقصده أخي صوت الماضي

أشكركم جميعا

ووجدت حــل آخر للمشكلة ساعدني في تنفيذه أحد أصدقائي الاعزاء

   con.Open();
OleDbCommand cmd = new OleDbCommand ("Select * from Table1",con);
                    OleDbDataReader read = cmd.ExecuteReader();

                    while(read.Read())
                    {
                        num_file = Convert.ToInt32(read["رقم الملف"]);
                        num_file++;
                    }
                    con.Close();
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText =
                    "Insert into Table1 Values ('" + num_file + "','" + textBox1.Text + "','" + textBox2.Text + "','" 
                    + textBox7.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text 
                    + "','" + textBox6.Text + "')";
                    cmd.Connection = con;
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();

شكرا لكم

#12

لا شكر على واجب...اخي...

برأيي......الحل الذي كتبته انت....قد استغنيت عن ميزة تقدمها لك قاعدة البيانات...و هي الترقيم التلقائي

و لا تنسى ان قاعدة البيانات العمل عليها اسرع....لذلك استفد من هذه الخدمة فيها ....و لا تزعج الفيجول بهذا الامر

تم تعديل هذه المشاركة بواسطة Hisham_IT في 27 سبتمبر 2011 في 22:22

1

Currently working on ASP.net ..... come Back Soon

#13

انا كان قصدى فى مكان الاضافة يتم كتابة هذا الكود وبعدين يتم تكملة كودك زى ما انت عايز

Com ............. .CommandText = String.Format("INSERT INTO ............. VALUES('{0}',{1},{2},{3} ......................)", textbox1.Text, textbox2.Text, .......................);

if (Conn.State == ConnectionState.Closed) Conn.Open();

Com .............. .ExecuteNonQuery();

Conn.Close();

OleDbDataReader ...........;

Com.............. .CommandText = "SELECT ........... FROM .............";

if (Conn.State == ConnectionState.Closed) Conn.Open();

................. = Com.............. .ExecuteReader();

while (................ .Read())

{

........................................ }

..................... .Close();

Conn.Close();

مكان النقط يتم كتابة اسامى المتغيرات بتاعتك اما السطر اللى فيه نقط كتير قوى ده تكتب فيه اضافة بواسطة المتغير اللى انت بتعمل بيه select للداتا بيز

اللى هو المتغير اللى هتكتبه فى امر select

وشكرا

1

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

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

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

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

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