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

استخراج اسماء الجداول من قاعدة البيانات

بدأه SoUfiaNoXx في 10 مايو 2012 · 9 رد · 756 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد ان اعرض كل اسماء الجداول التي توجد عندي في القاعدة

فعند بحثي وجدت كلاس DatabaseMetaData لكن لم اعرف تعامل معه ممكن كود وشكرا

#2

أي نوع من قواعد البيانات ؟؟

556891961.gif

I am learning from you

it is the programmer eye

#3

بعد عمل ارتباط connection

Connection connection = DriverManager.getConnection(DATABASE, USER, PASS);
ResultSet result= connection.getMetaData().getTables();

//loop here

تم تعديل هذه المشاركة بواسطة mental-driller في 11 مايو 2012 في 01:17

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#4
mental-driller كتب:

بعد عمل ارتباط connection

Connection connection = DriverManager.getConnection(DATABASE, USER, PASS);
ResultSet result= connection.getMetaData().getTables();

//loop here

اخي هناك attrubut يجب وضعها مثل catalog و غيرها

ممكن الكود كامل

#5

حسنا اخي حتى ارضيك

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication16;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author PsychoMantis
 */
public class DataBaseTable {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "user", "password");
            ResultSet db = connection.getMetaData().getTables(null, null, null, new String[]{"TABLE"});
            while (db.next()) {
                System.out.println(db.getString("TABLE_NAME"));
            }


        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException SQLex) {
            SQLex.printStackTrace();
        }
    }
}

تم تعديل هذه المشاركة بواسطة mental-driller في 11 مايو 2012 في 02:34

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#6
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Main {
  public static void main(String[] args) throws Exception {
    Connection conn = getConnection();
    Statement st = conn.createStatement();

    st.executeUpdate("create table survey (id int,myURL CHAR);");

    getTables(conn);

    st.close();
    conn.close();
  }

  public static void getTables(Connection conn) throws Exception {
    String TABLE_NAME = "TABLE_NAME";
    String TABLE_SCHEMA = "TABLE_SCHEM";
    String[] TABLE_TYPES = {"TABLE"};
    DatabaseMetaData dbmd = conn.getMetaData();

    ResultSet tables = dbmd.getTables(null, null, null, TABLE_TYPES);
    while (tables.next()) {
      System.out.println(tables.getString(TABLE_NAME));
          System.out.println(tables.getString(TABLE_SCHEMA));
    }
  }

  private static Connection getConnection() throws Exception {
    Class.forName("org.hsqldb.jdbcDriver");
    String url = "jdbc:hsqldb:mem:data/tutorial";

    return DriverManager.getConnection(url, "sa", "");
  }
}
1
#7

اخي كلا الكودين لا يعملان

يعرضان اسماء ليست اسماء الجداول

يا ريت يكون عن تجربة

#8

تاكد من اسم قاعدة البيانات الخاصه بك schema في الكود الخاص بي مثلا قمت باستخدام قاعدة البيانات التي تاتي مع MySQL والتي اسمها mysql

الامر بالنسبة لك يختلف بحيث تقوم باختيار اسم الاسكيما الخاصه بك عند الارتباط

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#9
mental-driller كتب:

تاكد من اسم قاعدة البيانات الخاصه بك schema في الكود الخاص بي مثلا قمت باستخدام قاعدة البيانات التي تاتي مع MySQL والتي اسمها mysql

الامر بالنسبة لك يختلف بحيث تقوم باختيار اسم الاسكيما الخاصه بك عند الارتباط

اي سطر اخي + ممكن كود لأوراكل وشكرا لك

#10

اخي بالنسبة لاوراكل يجب عليك استخدام الdriver الخاص باوراكل اما بقية الكود فيظل كما هو

لا تقل لي انك تريدين ان اكتب لك كيف يتم عمل اتصال باوراكل! المفروض انك قد اتصلت بقاعدة البيانات قبل ان تسأل السؤال ودريفرات اوراكل معروفه thin, oci والى اخره

بالتوفيق

تم تعديل هذه المشاركة بواسطة mental-driller في 13 مايو 2012 في 12:44

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

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