السلام عليكم
اريد ان اعرض كل اسماء الجداول التي توجد عندي في القاعدة
فعند بحثي وجدت كلاس DatabaseMetaData لكن لم اعرف تعامل معه ممكن كود وشكرا
السلام عليكم
اريد ان اعرض كل اسماء الجداول التي توجد عندي في القاعدة
فعند بحثي وجدت كلاس DatabaseMetaData لكن لم اعرف تعامل معه ممكن كود وشكرا
بعد عمل ارتباط 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!

mental-driller كتب:بعد عمل ارتباط connection
Connection connection = DriverManager.getConnection(DATABASE, USER, PASS); ResultSet result= connection.getMetaData().getTables(); //loop here
اخي هناك attrubut يجب وضعها مثل catalog و غيرها
ممكن الكود كامل
حسنا اخي حتى ارضيك
/*
* 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
No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!

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", "");
}
}اخي كلا الكودين لا يعملان
يعرضان اسماء ليست اسماء الجداول
يا ريت يكون عن تجربة
تاكد من اسم قاعدة البيانات الخاصه بك schema في الكود الخاص بي مثلا قمت باستخدام قاعدة البيانات التي تاتي مع MySQL والتي اسمها mysql
الامر بالنسبة لك يختلف بحيث تقوم باختيار اسم الاسكيما الخاصه بك عند الارتباط
No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!

mental-driller كتب:تاكد من اسم قاعدة البيانات الخاصه بك schema في الكود الخاص بي مثلا قمت باستخدام قاعدة البيانات التي تاتي مع MySQL والتي اسمها mysql
الامر بالنسبة لك يختلف بحيث تقوم باختيار اسم الاسكيما الخاصه بك عند الارتباط
اي سطر اخي + ممكن كود لأوراكل وشكرا لك
اخي بالنسبة لاوراكل يجب عليك استخدام ال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!
