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

تحديث البيانات في jdbc

بدأه himanasser في 16 فبراير 2014 · 2 رد · 513 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي جول البترول فيه عمودين type , cost  وكل العمليات تتم بون مشاكل ولكن عند استدعاء update  ولنفترض تحديث cost يتم مسح بيانات type  مع العلم اني استخدمت jdbc  و hibernate  و eclipselink  إلى انها نفس المشكلة ومسحت سيرفر mysql  ونصبته من جديد إلا أن المشكلة ما زالت قائمة

وهذا كود التحديث 

	@Override
	public void update(Petrol o) throws DAOException {
		 try {
             connection = Manager.getConnection();
             String sqlQuery = "UPDATE petrol SET type = '" + o.getType()
                             + " ', cast ='" + o.getCast() + "' WHERE id = "
                             + o.getId();
             PreparedStatement ps = connection.prepareStatement(sqlQuery);
             int result = ps.executeUpdate(sqlQuery);

             if (result != 1) {
                     ps.setString(1, o.getType());
                     ps.setFloat(2, o.getCast());
             }

     } catch (SQLException s) {
             s.printStackTrace();
     }
#2

سلام عليك

أخي الكريم 

 

هذا الأمر

String sqlQuery = "UPDATE petrol SET type = '" + o.getType()
                             + " ', cast ='" + o.getCast() + "' WHERE id = "
                             + o.getId();

سيقوم بتحديث العمودين معا ، وسيأخذ كل  عمود القيمة الموجودة في getter

وإن أردت تحديث عمود واحد وليكن مثلا type فيجب أن تحذف العمود الآخر من أمر التحديث

وسيصير هكذا

String sqlQuery = "UPDATE petrol SET type = '" + o.getType()
                             +  "' WHERE id = "
                             + o.getId();

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#3

السلام عليكم

 

إذا كنت تستخدم Hibernate للتعامل مع قاعدة البيانات فلا أدري لماذا تستخدم أيضاً الـ Connection Manager !!

بالنسبة لـ hibernate, عملية التحديث تتم باستدعاء الدالة update, هكذا : (دوال الـ CRUD أفضل من الـ HQL بشكل عام و خصوصاً في عملية التحديث)

Petrol p = (Petrol)session.get(Petrol.class, o.getId());
p.setType(o.getType());
session.beginTransaction();
session.update(p);
session.getTransaction().commit();

تم تعديل هذه المشاركة بواسطة Snack3r في 17 فبراير 2014 في 13:20

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