السلام عليكم
اخوتي اعذروني على كثرة الاسئلة ولكن موعد التسليم قرب فياريت سرعة الرد ولكم جزير الشكر
مشككلتي اني مسوية كود ينقل بينات من جدول في قاعدة بيانات على جدول اخر في قاعدة بيانات اخرى ولكن الكود لم يعمل ويعطيني خطأ فهل ممكن حد يوضح لي وش الخطأ ولو هناك فكرة احسن ياريت ما تبخلوا بها عليا
اقتباسtry{
Class.forName(forName1);
Class.forName(forName2);
Connection con1 = DriverManager.getConnection(url1);
Connection con2 = DriverManager.getConnection(url2);
Statement st2 =con2.createStatement();
ResultSet rs2;
Statement st1 =con1.createStatement();
ResultSet rs1;
String sqlstr;
String insStr;
int i;
//في حالة يبغى ينشئ جدول جديد في القاعدة الثانية من جدول في القاعدة الاولى
if(jRadioButton2.isSelected())
{
String dot="\\.";
String dbName[]=new String[2];
dbName=file1.getName().split(dot);
String CreStr="CREATE TABLE " + jTextField1.getText()+" AS(";
sqlstr="SELECT ";
for (i=0;i<model2.getSize()-1;i++)
sqlstr= sqlstr+model2.getElementAt(i)+ ",";
sqlstr= sqlstr+model2.getElementAt(i)+ " FROM "
+dbName[0]+"."+jComboBox1.getSelectedItem()+"); ";
CreStr=CreStr+sqlstr;
System.out.println(CreStr);
i=st2.executeUpdate(CreStr);
System.out.println(i+" rows are wffiected ");
}
//في حالة يبغى يضيف صفوف لحقول محددة من جدول بالقاعدة الاولى الى جدول بالقاعدة الثانية
else{
sqlstr="Select ";
insStr="insert into "+jComboBox2.getSelectedItem()+"( ";
for (i=0;i<model2.getSize()-1;i++){
sqlstr= sqlstr+model2.getElementAt(i)+ " , ";
// insStr=insStr+model4.getElementAt(i)+" ' ";
}
sqlstr=sqlstr+model2.getElementAt(i)+" FROM " + jComboBox1.getSelectedItem()+";";
// insStr=insStr+model4.getElementAt(i)+ " ) "+sqlstr+";";
rs1=st1.executeQuery(sqlstr);
int n=0,x;
String str;
while (rs1.next())
{
insStr="INSERT INTO "+ jComboBox2.getSelectedItem() +"(";
for (i=0;i<model2.getSize()-1;i++){
insStr=insStr+model4.getElementAt(i)+" , ";
}
insStr=insStr+model4.getElementAt(i)+ " ) values(";
for(i=0;i<model2.getSize()-1;i++){
str=(Mtype1.getElementAt(i)).toString();
x= Integer.parseInt(str);
if (Mtype1.getElementAt(i)!="INT")
insStr=insStr+"'"+ rs1.getString(i)+"' ,";
else
insStr=insStr+ rs1.getString(i)+" ,";
}
str=(Mtype1.getElementAt(i)).toString();
x= Integer.parseInt(str);
if (tableDataType1[x][1]!="INT")
insStr=insStr+"'"+ rs1.getString(i)+"');";
else
insStr=insStr+ rs1.getString(i)+" );";
int rows=st2.executeUpdate(insStr);
n++;
// System.out.println(rs1.getString(i));
}
//int rows=st2.executeUpdate("insert into stu_table values(4,'sdf');");
System.out.println(n+" rows effected");
}
st1.close();
st2.close();
con1.close();
con2.close();
}
catch (SQLException e) {
System.out.println("SQL Exception: "+ e.toString());
//jLabel7.setText("SQL Exception: "+ e.toString());
} catch (ClassNotFoundException cE) {
System.out.println("Class Not Found Exception: "+cE.toString());
// jLabel7.setText("Class Not Found Exception: "+ cE.toString());
}
الحقول التي سيضيفها الجدول ليست كل حقولالجدول الثاني ولكن جزء منها وهي موجودة في مودل2
tableDataType1[x][1]
موجود فيها اسم الحقل ونوعه وحجمه بالترتيب لكلحقول الجدول الاول
Mtype1
موجود فيها موقع الحقل في المصفوفة السابقة اللذي سيتم اضافته
والشكر مقدم لكل من يجيب