PDA

View Full Version : اساتید خبره در نتبینز یه سوال؟؟؟



arezo1174
شنبه 06 خرداد 1391, 14:18 عصر
کسی از این exception سر در میاره؟؟؟؟؟
اگه کسی میدونه علت این چیه لطفا راهنمایی کنه:گریه::گریه:

java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY

محض اطلاع شما توی کدم اینم دارم.
ResultSet sr = st.executeQuery("select * from T_Film");
sr.last();

arezo1174
شنبه 06 خرداد 1391, 18:39 عصر
نمیدونم سوال من خیلی ساده اس یا اینکه تا حال هیچ کس با این برخورد نکرده!!!!!!!!!!!

spiderman200700
شنبه 06 خرداد 1391, 20:38 عصر
چرا از متد last استفاده کردین. معمولا باید از متد next استفاده کرد نه last
احتمالا مشکل همینجاست.

arezo1174
شنبه 06 خرداد 1391, 22:00 عصر
سلام. ارتباط برقرار شد ولی فقط ستون اول آخر ینی بازیگران نمایش داده میشه البته توی همه ی ستون ها فقط بازیگر نمایش داده میشه.

spiderman200700
شنبه 06 خرداد 1391, 22:06 عصر
منظورتونو متوجه نشدم. میشه واضح تر بگید؟

arezo1174
شنبه 06 خرداد 1391, 22:13 عصر
فرض کنید من توی جدولم sql، چندتا ستون(5) دارم توی jtable فقط ستون 5 نمایش داده میشه؛ البته توی هر 5 تا ستون مثلا به جای نام ، بازیگران، به جای آی دی بازگران، به جای کارگردان؛ بازیگران.... نمایش داده میشه. فقط هم ستون اول داده داره بقیه ی ستون ها خالین.

spiderman200700
شنبه 06 خرداد 1391, 22:16 عصر
لطفا کدی رو که نوشتید اینجا بذارید که ببینم.

arezo1174
شنبه 06 خرداد 1391, 22:18 عصر
امیدوارم متوجه شده باشن، بعد یه نکته رو بگم من الان دو بار متد next رو فراخوانی کردم خودم فک میکنم مشکل همین جا باشه یه بار توی حلقه ی while یه بار هم بعد از کوئری جستجو، برمیدارمش خطا میده:عصبانی++:

arezo1174
شنبه 06 خرداد 1391, 22:24 عصر
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
ConnectionSql.Connect();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:movi_maneger", "", "");
st = con.createStatement();
ResultSet sr = st.executeQuery("select * from T_Film");
sr.next();
int col = sr.getMetaData().getColumnCount();
Vector<String> columnNames = new Vector<String>();
for (int i = 1; i <= col; i++) {
columnNames.add(sr.getMetaData().getColumnName(col ));
}
Vector<Vector> data = new Vector<Vector>();
while (sr.next()) {
Vector<String> row = new Vector<String>();
for (int j = 1; j <= col; j++) {
try {
row.add(sr.getString(col));
} catch (SQLException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
}
}
data.add(row);
}


JTable table = new JTable(data, columnNames);
jScrollPane1.setViewportView(table);
st.close();
con.close();
} catch (ClassNotFoundException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
}
}

spiderman200700
شنبه 06 خرداد 1391, 23:52 عصر
این کد رو این شکلی بنویسید. ببینید بازم مشکلی هست یانه؟
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
ConnectionSql.Connect();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:movi_maneger", "", "");
st = con.createStatement();
ResultSet sr = st.executeQuery("select * from T_Film");
int col = sr.getMetaData().getColumnCount();
Vector<String> columnNames = new Vector<String>();
for (int i = 1; i <= col; i++) {
columnNames.add(sr.getMetaData().getColumnName(i ));
}
Vector<Vector> data = new Vector<Vector>();
while (sr.next()) {
Vector<String> row = new Vector<String>();
for (int j = 1; j <= col; j++) {
try {
row.add(sr.getString(j));
} catch (SQLException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
}
}
data.add(row);
}


JTable table = new JTable(data, columnNames);
jScrollPane1.setViewportView(table);
st.close();
con.close();
} catch (ClassNotFoundException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
}
}

arezo1174
یک شنبه 07 خرداد 1391, 00:14 صبح
الان رکوردا همه درسته ؛ اما ستون همچنان بازیگر نمایش داده میشه.

arezo1174
یک شنبه 07 خرداد 1391, 00:31 صبح
بالاخره درست شد.
مرسی.

spiderman200700
یک شنبه 07 خرداد 1391, 00:33 صبح
اگه میشه کد رو اینجا بذارید ، ببینیم مشکل چی بوده. ممنون.

arezo1174
یک شنبه 07 خرداد 1391, 08:15 صبح
سلام. اینم کد ویرایش شده خدمت شما:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
ConnectionSql.Connect();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:movi_maneger", "", "");
st = con.createStatement();
ResultSet sr = st.executeQuery("select * from T_Film");
int col = sr.getMetaData().getColumnCount();
Vector<String> columnNames = new Vector<String>();
for (int i = 1; i <= col; i++) {
columnNames.add(sr.getMetaData().getColumnName(i)) ;
}
Vector<Vector> data = new Vector<Vector>();
while (sr.next()) {
Vector<String> row = new Vector<String>();
for (int j = 1; j <= col; j++) {
try {
row.add(sr.getString(j));
} catch (SQLException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
}
}
data.add(row);
}


JTable table = new JTable(data, columnNames);
jScrollPane1.setViewportView(table);
st.close();
con.close();
} catch (ClassNotFoundException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(L evel.SEVERE, null, ex);
}
}

spiderman200700
یک شنبه 07 خرداد 1391, 09:56 صبح
ببخشید.
این کد نسبت به آخرین کدی که من گذاشتم ، چه تغییری کرده؟