استعلام قاعدة البيانات
استخدم طريقة createStatement لكائن الاتصال لإنشاء كائن بيان، واستخدم طريقة تنفيذ Query () لكائن البيان لتنفيذ عبارة استعلام SQL وإرجاع مجموعة النتائج، ثم اقرأ البيانات من مجموعة النتائج باستخدام طريقة مثل getXXX(). بعد هذه السلسلة من الخطوات، يمكن تنفيذ الاستعلام إلى قاعدة البيانات.
[مثال] يصل تطبيق Java إلى قاعدة البيانات. يفتح التطبيق جدول معلومات المرشح ksInfo ويسترجع معلومات متنوعة حول المرشح. افترض أن هيكل قاعدة بيانات معلومات المرشحين هو كما يلي:
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import java.sql.*;public class example10_9 Extends JFramelets ActionListener{ public static ConnectionconnectByJdbcodbc( عنوان URL للسلسلة، اسم المستخدم للسلسلة، كلمة المرور للسلسلة) { Connection con = nulltry{; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // تحميل برنامج تشغيل ODBC} Catch (Exception e){ e.printStackTrace(); return null; .getConnection(url, username,password); } Catch (SQLException e){ e.printStackTrace(); return null; // الاتصال ناجح} String title[] ={"رقم الامتحان"، "الاسم"، "الدرجة"، "العنوان"، "السيرة الذاتية"}; JTextField txtNo = new JTextField(8); JTextField(3); JTextField txtAddr = new JTextField(30); JTextArea txtresume = new JTextArea(); new JButton("previous"); JButton next = new JButton("next"); ); // كائن بيان SQL ResultSet rs; // نتيجة استعلام التخزين objectExample10_9(Connection Connect){ super("نافذة عرض المعلومات المرشحة");try{ sql =connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ("اختر * من ksInfo"); Container con = getContentPane(); con.setLayout(new BorderLayout(0, 6); JPanel p[] = new JPanel[4]; for (int i = 0; i < 4; i++){ p[ i] = new JPane(new FlowLayout(FlowLayout.LEFT, 8, 0)); p[i].add(new JLabel(title[i])); } p[0].add(txtNo); JPanel p1 = new JPane(new GridLayout94, 1, 0, 8)); JScrollPane(txtResume, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setPreforredSize(new Dimension(300, 60); for (int i = 0; i < 4; i++){ p1.add(p[i]); } JPanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0); p2.add(new JLabel(title[4])); p2.add(jsp); Jpanel p3 = new Jpanel(); p3.add(prev); p3.add(next); p3.add(first); next.addActionListener(this); first.addActionListener(this); last.addActionlistener(this); readRecord(); } Catch (Exception e){ e.printStackTrace(): } setVisible(ture); } public void AdjustRecord(Connectionconnect){ String stuNo = (String)JOptionPane.showInputDialog(null, "الرجاء إدخال رقم اختبار المرشح"، "أدخل مربع حوار رقم الاختبار"، JOptionPane.PLAIN_MESSAGE، null, null, ""); حاول { sql =connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY rs = sql .executeQuery ("SELECT * FROM ksInfo")؛ حاوية con = getContentPane(); con.setLayout(new Boarderlayout(0, 6)); Jpanel p[] = new JPanel[4]; for (int i = 0; i < ; i++){ p[i] = new JPane(new FlowLayout(flowLayout.LEFT, 8, 0)); p[i].add(new JLabel(title[i])); p[0].add(txtNo); p[1].add(txtName); p[2].add(txtScore); p[3].add(txtAddr); , 1, 0, 8)); JScrollPane jsp = new JScrollPane(txtResume, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setPreferredSize (new Dimension(300, 60)); for (int i = 0; i < 4; i++){ p1.add(p[i]); لوحة JPanel الجديدة(new FlowLayout(FlowLayout.LEFT, 10, 0)); add(next); p3.add(first); next.addActionListener(this); first.addActionListenerIthis); last.addActionListener(this); readRecord(); } Catch (Exception e){ e.printStackTrace(); readRecord(){ حاول{ txtNo.setText(rs.getString("رقم الامتحان")); txtName.setText(rs.getString("name")); txtScore.setText(rs.getString("score")); txtAddr.setText(rs.getString("address")); "Resume")); } Catch (SQLException e){ e.printStackTrace(); return false; صحيح } public void actionPerformed(ActionEvent e){try{ if (e.getSource() == prev)rs.previous(); else if (e.getSource() == next)rs.next(); (e.getSource() == first)rs.first(); else if (e.getSource() == last)rs.last(); readRecord(); } Catch (Exception e2){} } public static void main(String args[]){connection = null;setDefaultLookAndFeeDecorated(true); :redsun"، "xia"، "1234")) == null){ JOptionPane.showMessageDialog(null, "فشل اتصال قاعدة البيانات!");
تحديث قاعدة بيانات جافا <br />تتضمن عمليات تحديث قاعدة البيانات إنشاء جدول البيانات وحذفه وإضافة سجلات جدول البيانات وحذفها وتعديلها. إذا تم تنفيذه باستخدام أوامر SQL للبيانات، فاستخدم طريقة تنفيذ التحديث () لزوج البيان لتنفيذ بيان تحديث SQL لتعديل جدول البيانات؛ وتنفيذ عبارة إدراج SQL لإضافة سجلات جدول البيانات.
على سبيل المثال، استنادًا إلى مثال استعلام البيانات السابق، قم بإضافة التعديل والإدراج إلى جدول البيانات. نظرًا لضيق المساحة، لن يتم توفير البرنامج الكامل، فقط طرق تنفيذ التعديل والإدراج. يمكن للبرنامج إضافة أزرار إدراج و، وحفظ، من خلال التصفح الموجود، وتحديد موضع محدد لجدول البيانات، وتحرير سجل الجمرة أو تعديله أو إدراجه أو حذفه، ثم الضغط على زر الحفظ لإكمال جدول البيانات المعدل. . يحفظ.
يشرح التعليمة البرمجية التالية كيفية تحديث جدول البيانات. عند الاتصال بجدول بيانات، يجب عليك تحديد أن كائن ResultSet الذي تم الحصول عليه قابل للتحديث.
stmt = Connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);