بتاريخ: 7 أبريل 201510 سنة comment_261526 السلام عليكم إخواني انا في مشروعي عملت صفحة فيها form الفورم دا به مجموعة من الinputbox وفيها زر للحفظ وكاتب كود الحفظ برمجيا عن طريق جملة insert وفي حقل الid كنت بخلي المستخدم يدخل الرقم يدويا وبعدين عملت sequence بحيث يدخل الرقم اوتوماتيكيا بمجرد ما يضغط زر الحفظ ولكن كل مشكلتي اني كنت كاتب في جملة الinsert ان الuserid بياخد قيمتة من inptubox بعد عمل الSequence المفروض اني بدال ما اقولة getUserId أقولة اية يارب تكون الفكرة وضحت علما بأن الsequence اسمها sequser تقديم بلاغ
بتاريخ: 7 أبريل 201510 سنة كاتب الموضوع comment_261527 ظهرت الان مشكلة وانا بعمل تسجيل دخول والمشكلة دي سببها اني لما عملت الSequence خليت حقل الuserId نوعة DBSequence لكن لما بخلية integer بيدخل بشكل سليم حد عنده حل للمشكلة دي كمان تقديم بلاغ
بتاريخ: 8 أبريل 201510 سنة كاتب الموضوع comment_261531 الاثنين ان شاء الله عايز اكتب الكود اللي يخليني لما ادوس الحفظ يضيف واحد ونشوف اية المشكلة دي ظهرت ليه تقديم بلاغ
بتاريخ: 8 أبريل 201510 سنة comment_261567 بعد عمل الSequence المفروض اني بدال ما اقولة getUserId أقولة اية تقوم بإضافة الـجملة التالية للكود الذي عملته String getSeq = "select seq.nextval from dual"; selectstat = con.prepareStatement(getSeq); rs = selectstat.executeQuery(); int sequser = 0; if (rs.next()) { sequser = rs.getInt(1); } وفي جملة الاسناد للقيمة تكون هكذا stat.setInt(1, sequser); وتكمل باقي الكود الذي لديك تقديم بلاغ
بتاريخ: 8 أبريل 201510 سنة كاتب الموضوع comment_261577 استاذة ميسم الكود جدا مش واضح انا مش عارف هكتب الكلام دا داخل الtry ولا خارجها ولا فين بالضبط دا كود الحفظ بتاعي ممكن حضرتك تضفيلي عليه الكود بالترتيب الصحيح وشكرا public String save_Action() { // Add event code here... UserInfo user=(UserInfo)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userKey"); String username="hr"; String password="hr"; String thisurl="jdbc:oracle:thin:@localhost:1521:orcl"; String getSeq="select seq.nextval from dual"; String sql= "INSERT INTO APP_USERS (USER_ID,USER_NAME,PASSWORD,FIRST_NAME,LAST_NAME,USER_TYPE)"+" VALUES('"+getUserId()+"','"+getUserName()+"','"+getPassword()+"','"+getFirstName()+"','"+getLastName()+"','"+getUserType()+"')"; try{ DriverManager.registerDriver((new OracleDriver())); Connection con=DriverManager.getConnection(thisurl, username, password); Statement stat=con.createStatement(); stat.executeUpdate(sql); setInsertMeg("تم إضافة المستخدم بنجاح"); con.close(); stat.close(); } catch (SQLException e) { setInsertMeg("غير قادر على تسجيل المستخدم "+e.getMessage()); } return null; } تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة comment_261582 حضرتك عامل insert برمجياً تمام؟ حسناً المشكلة أنه تريد الـ userId لا يأخذها من الشاشة بل تريد إسناد قيمة لها من الـsequence حسناً في البداية نجلب قيمة الـ sequence عن طريق الايعاز التالي String getSeq = "select seq.nextval from dual"; selectstat = con.prepareStatement(getSeq); rs = selectstat.executeQuery(); int sequser = 0; if (rs.next()) { sequser = rs.getInt(1); } أصبحت الان قيمة الـ sequence لدي بالمتغير sequser حسناً بإيعاز الاضافة بدل ما أكتب getUserId() أعطيه sequser أين المشكلة try { DriverManager.registerDriver((new OracleDriver())); Connection con=DriverManager.getConnection(thisurl, username, password); String getSeq = "select seq.nextval from dual"; selectstat = con.prepareStatement(getSeq); rs = selectstat.executeQuery(); int sequser = 0; if (rs.next()) { sequser = rs.getInt(1); } String sql= "INSERT INTO APP_USERS (USER_ID,USER_NAME,PASSWORD,FIRST_NAME,LAST_NAME,USER_TYPE)"+" VALUES('"+sequser+"','"+getUserName()+"','"+getPassword()+"','"+getFirstName()+"','"+getLastName()+"','"+getUserType()+"')"; Statement stat=con.createStatement(); stat.executeUpdate(sql); setInsertMeg("تم إضافة المستخدم بنجاح"); con.close(); stat.close(); } catch (SQLException e) { setInsertMeg("غير قادر على تسجيل المستخدم "+e.getMessage()); } return null; ولا تنسى تعريف PreparedStatement selectstat = null; ResultSet rs = null; لإن أصبحت لديك جملة select تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة comment_261586 طالما تقوم باستخدام sequence فبداية من الإصدار 11g من قاعدة البيانات فيمكنك كتابة sequence داخل جملة الـ insert insert into mytable(user_id) values (seq.nextval) تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة كاتب الموضوع comment_261589 السلام عليكم استاذة ميسم دلوقتي انا كتبت الكود تمام لكن لما بكتب البيانات وبدوس حفظ بيديني الخطأ دا ora-02289 sequence does not exist وبحثت عن المشكلة لقيتها بسبب ال privilege هل الكلام دا صحيح ولا لا ولو صحيح اية اللي ممكن اعملة ملحوظة:المستخدم اللي انا بدخل بيه انا اللي منشئة عن طريق شاشةالمستخدمين تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة comment_261590 حضرتك عامل sequence في قاعدة البيانات؟ وتأكد أيضاً من صلاحيات المستخدم تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة كاتب الموضوع comment_261592 انا عملتها عن طريق الjdeveloper .. استاذة ميسم دلوقتي انا عامل جدول للمستخدمين فيه حقل الرقم واسم المستخدم والباس وورد ومسجل فيه بعض المستخدمين ولما عمل run للمشروع بيجبلي سفحة الدخول بدخل اسم المستخدم والباس بتاعه وبيدخل على الشاشات عادي مفيش اي مشاكل اذاي بقا ادي للمستخدم اللي داخل الجدول دا صلاحيات ؟؟؟ تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة comment_261593 الان المشكلة تم حلها وهذا سؤال آخر ؟ فالآمر يتعلق بالصلاحيات تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة كاتب الموضوع comment_261594 لا المشكلة لم يتم حلها انا بشك ان المشكلة في الصلاحيات يمكن لما اديلة صلاحيات تنحل المشكلة فسأل كيف اعطي له الصلاحيات؟؟ تم تعديل 9 أبريل 201510 سنة بواسطة محمدمحمدطة تقديم بلاغ
بتاريخ: 9 أبريل 201510 سنة comment_261597 المستخدم الذي نعمل به الـ sequence على قاعدة البيانات هو الـ user في قاعدة البيانات مثل HR ,system غير مستخدمين النظام الكود جربته أنا يعمل بشكل جيد المشكلة لى حضرتك تقديم بلاغ
بتاريخ: 27 أبريل 201510 سنة comment_262096 انا عملتها عن طريق الjdeveloper .. استاذة ميسم دلوقتي انا عامل جدول للمستخدمين فيه حقل الرقم واسم المستخدم والباس وورد ومسجل فيه بعض المستخدمين ولما عمل run للمشروع بيجبلي سفحة الدخول بدخل اسم المستخدم والباس بتاعه وبيدخل على الشاشات عادي مفيش اي مشاكل اذاي بقا ادي للمستخدم اللي داخل الجدول دا صلاحيات ؟؟؟ يمكن استخدام ال Appmodule connection بدلا من انشاء JDBC connection جديد تقديم بلاغ
بتاريخ: 27 أبريل 201510 سنة comment_262097 حضرتك عامل insert برمجياً تمام؟ حسناً المشكلة أنه تريد الـ userId لا يأخذها من الشاشة بل تريد إسناد قيمة لها من الـsequence حسناً في البداية نجلب قيمة الـ sequence عن طريق الايعاز التالي String getSeq = "select seq.nextval from dual"; selectstat = con.prepareStatement(getSeq); rs = selectstat.executeQuery(); int sequser = 0; if (rs.next()) { sequser = rs.getInt(1); } أصبحت الان قيمة الـ sequence لدي بالمتغير sequser حسناً بإيعاز الاضافة بدل ما أكتب getUserId() أعطيه sequser أين المشكلة try { DriverManager.registerDriver((new OracleDriver())); Connection con=DriverManager.getConnection(thisurl, username, password); String getSeq = "select seq.nextval from dual"; selectstat = con.prepareStatement(getSeq); rs = selectstat.executeQuery(); int sequser = 0; if (rs.next()) { sequser = rs.getInt(1); } String sql= "INSERT INTO APP_USERS (USER_ID,USER_NAME,PASSWORD,FIRST_NAME,LAST_NAME,USER_TYPE)"+" VALUES('"+sequser+"','"+getUserName()+"','"+getPassword()+"','"+getFirstName()+"','"+getLastName()+"','"+getUserType()+"')"; Statement stat=con.createStatement(); stat.executeUpdate(sql); setInsertMeg("تم إضافة المستخدم بنجاح"); con.close(); stat.close(); } catch (SQLException e) { setInsertMeg("غير قادر على تسجيل المستخدم "+e.getMessage()); } return null; ولا تنسى تعريف PreparedStatement selectstat = null; ResultSet rs = null; يمكن استخدام ال Appmodule connection بدلا من انشاء JDBC connection جديد تم تعديل 27 أبريل 201510 سنة بواسطة visiterman تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.