-
نقل قول: مشکل در متد insert در نتبینز
این کار رو که تو پست 49 گفتم، انجام دادید؟
public static void update(String film, String bazigar) throws Exception {
Connect();
st = cn.createStatement();
String sqlu = "update T_Film set bazigaran='" + bazigar + "' where name_film='" + film + "'";
st.executeUpdate(sqlu);
JOptionPane.showMessageDialog(null, "به روز رسانی شد.");
st.close();
cn.close();
}
-
نقل قول: مشکل در متد insert در نتبینز
سلام. اشکال کار یافتم استاد این بار به sqlu ربطی نداشت من وقتی format مینوشتم اتوماتیک خودش برام میزد و منم همون رو قبول میکردم نگو جای فیلم و بازیگر باهم جا به جاست، جابهجا که کردم خودش درست:لبخند:
ممنونم از همتون به از استاد spaiderman که منا تحمل میکنه و صبورانه جواب میده:لبخندساده:
sqlu = String.format(sqlu, bazigar,film);
-
نقل قول: مشکل در متد insert در نتبینز
سلام مجدد به همه ی اساتید محترم:لبخندساده:
این مطلب هم برای کاربر sharifip مفیده و هم من:افسرده:
در رابطه با jtable که بر نمیشه و بنجره ای ظاهر میشه تحت عنوان Result set Type is TYPE_FORWARD_ONLY
اساتید باور کنید من اول همه ی تلاشم رو میکنم که خودم حلش کنم وقتی دیگه به بن بست میخورم اینجا میام(تنبل نیستم) ینی حاضر و آماده هیچی رو نمیخام:گریه:
با عرض شرمندگی به کدم نگاه میکنید؟؟
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Connection con;
Statement st;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:movi_manege r","","");
st =(Statement)con.createStatement();
ResultSet rs = st.executeQuery("select *from T_Film");
rs.last();
int rc = rs.getRow();
rs.beforeFirst();
int cc = 5;
String[] header = {"name_film", "name_kargardan", "tarekh_sakht", "rade_seni", "bazigaran"};
String[][] data = new String[rc][cc];
int i = 0;
while (rs.next()) {
data[i][0] = rs.getString("sfilm");
data[i][1] = rs.getString("skargardan");
data[i][2] = rs.getString("ssakht");
data[i][3] = rs.getString("srade_seni");
data[i][4] = rs.getString("sbazigar");
i++;
}
jTable1 = new JTable(data, header);
jScrollPane1.setViewportView(jTable1);
rs.close();
st.close();
con.close();
} catch (Exception exception) {
JOptionPane.showMessageDialog(null, exception.getMessage());
}
}
-
نقل قول: مشکل در متد insert در نتبینز
از مطالب سایت زیر استفاده کنید. بعد اگه مشکلی بود مطرح کنید.
http://java.tadbirpoya.ir/articles/JAVA%20SE/JTable.htm
-
نقل قول: مشکل در متد insert در نتبینز
سلام. این سایتا قبلا دیدم؛ به نتیجه ای که رسیدم کدای که گذاشتم به هر حال مرسی.
-
نقل قول: مشکل در متد insert در نتبینز
من اومدم به صورت دستی یه جدول بر کردم با کدای زیر هیچ مشکلی هم نبود ولی توی کدای قبلی هر کاری کردم داده رو از جدول نخوند.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String[] hdr={"ID","last name","first name"};
Object[][] data=
{
{100,"aaaaaaa","qqqqqq"},{101,"www","hhh"},{102,"m ohammad","sha"}
};
jTable1 =new JTable(data,hdr);
jScrollPane1.setViewportView(jTable1);
}
-
نقل قول: مشکل در متد insert در نتبینز
بعد از حلقه while کد زیر را بزارید و بعد نتیجه رو بررسی کنید (که آیا اصلا چیزی وارد آرایه میشه یا نه)
for(int j=0; j<i; j++)System.out.println(data[j][0]);
-
نقل قول: مشکل در متد insert در نتبینز
من برنامه رو به این صورت هم نوشتم
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
try {
ResultSet rs = null;
ConnectionSql.Connect();
ConnectionSql.search(jTextField1.getText().trim()) ;
rs.last();
int rc = rs.getRow();
rs.beforeFirst();
int cc = 5;
String[] header = {"name_film", "name_kargardan", "tarekh_sakht", "rade_seni", "bazigaran"};
String[][] data = new String[rc][cc];
int i =0;
while (rs.next()) {
data[i][0] = rs.getString("sfilm");
data[i][1] = rs.getString("skargardan");
data[i][2] = rs.getString("ssakht");
data[i][3] = rs.getString("srade_seni");
data[i][4] = rs.getString("sbazigar");
i++;
}
for(int j=0; j<i; j++)
System.out.println(data[j][0]);
jTable1 = new JTable(data, header);
jScrollPane1.setViewportView(jTable1);
rs.close();
} catch (Exception ex) {
Logger.getLogger(NewJFrame2.class.getName()).log(L evel.SEVERE, null, ex);
}
و طبق گفته ی شما خروجی:
init:
deps-jar:
compile-single:
run-single:
select * from T_Film where name_film='y'
May 19, 2012 10:07:04 AM movi_manager.NewJFrame2 jButton3ActionPerformed
SEVERE: null
java.lang.NullPointerException
at movi_manager.NewJFrame2.jButton3ActionPerformed(Ne wJFrame2.java:165)
at movi_manager.NewJFrame2.access$200(NewJFrame2.java :17)
at movi_manager.NewJFrame2$3.actionPerformed(NewJFram e2.java:74)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)
-
نقل قول: مشکل در متد insert در نتبینز
خوب مقدار جدول مگه نه اینکه باید با تعداد سطرها rc و تعداد ستون ها cc باید پر بشه که به آرایه dataتخصیص داده میشه حتی اگه جدول هم خالی باشه ینی هیچ رکوردی نداشته باشه باید مقدار header رو توی جدول نشان بده که اونم نشون نمیده به Resultset گیر میده، دستوری که شما گفتین به #83(کد قبلی) اضافه کردم همون خطای قبلی رو داد(Result set Type is TYPE_FORWARD_ONLY).
با سپاس فراوان.
-
نقل قول: مشکل در متد insert در نتبینز
در این صفحه قسمت "ساختن مدلي از جدول " رو بخونید.
http://java.tadbirpoya.ir/articles/J...20Tutorial.htm
استفاده از مدل جدول ، بهترین را برای رسم جدول هست. و میتونید کاملا جدول رو کنترل کنید.
-
نقل قول: مشکل در متد insert در نتبینز
استاد، جناب این ساتا قبلا دیدم که توسط خودتون به کابرای دیگه توصیه کردین ولی بازم نگاه کردم این اومده به صورت دستی به جدول مقدار داده
private Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(20), new Boolean(true)},
{"Philip", "Milne",
"Pool", new Integer(10), new Boolean(false)},
};
من نمیخام این کارا بکنم میخام که بره از جدول sql server داده ها رو بخونه!!!!
که یه بنجره باز میشه تحت عنوان (Result set Type is TYPE_FORWARD_ONLY)
چرا این همه اذیت میکنه تو هر گامی که برمیدارم یه خطا میده دیگه کم اوردم:گریه::گریه::گریه:
-
نقل قول: مشکل در متد insert در نتبینز
خیلی ممنون از همه. دوستان ناامید نشد به این تایپک هم سر بزنید یعنی جواب بدید ما همچنان منتظریم که از نظرات شما استفاده کنیم.
قربونتون بشم جواب بدید:ناراحت:
-
نقل قول: مشکل در متد insert در نتبینز
خیلی ممنون از کاربرsharifip .
منم منتظرم که فرشته ی نجاتمون از راه برسه و ما را نجات بده:گریه::گریه::گریه:
-
نقل قول: مشکل در متد insert در نتبینز
اینم یه کد کاملا داینامیک که جدول دیتابیس رو کاملا توی یه JTable نگاشت میکنه و بر اساس مثال همون سایتی که گذاشتم نوشتمش:
rs = st.executeQuery("select * from tablename");
int col = rs.getMetaData().getColumnCount();
Vector<String> columnNames = new Vector<String>();
for (int i = 1; i <= col; i++) {
columnNames.add(rs.getMetaData().getColumnName(col ));
}
Vector<Vector> data = new Vector<Vector>();
while (rs.next()) {
Vector<String> row = new Vector<String>();
for (int c = 1; c <= col; C++) {
row.add(rs.getString(col));
}
data.add(row);
}
JTable table = new JTable(data, columnNames);
این کد کاملا جواب میده
اگه احیانا جاییشو متوجه نشدید ، بگید تا توضیح بدم.
-
نقل قول: مشکل در متد insert در نتبینز
خروجی این کد رو بزارید ببینیم مشکل از کجاست :
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
try {
ResultSet rs = null;
ConnectionSql.Connect();
ConnectionSql.search(jTextField1.getText().trim()) ;
ArrayList filList = new ArrayList();
ArrayList karList = new ArrayList();
ArrayList tarList = new ArrayList();
ArrayList radList = new ArrayList();
ArrayList bazList = new ArrayList();
int i =0;
while (rs.next()) {
filList.add(rs.getString("sfilm"));
karList.add(rs.getString("skargardan"));
tarList.add(rs.getString("ssakht"));
radList.add(rs.getString("srade_seni"));
bazList.add(rs.getString("sbazigar"));
i++;
}
System.out.println(i + "--" + filList.size());
for(int j=0; j<filList.size(); j++)
System.out.println(filList.get(j));
//jTable1 = new JTable(data, header);
//jScrollPane1.setViewportView(jTable1);
rs.close();
} catch (Exception ex) {
Logger.getLogger(NewJFrame2.class.getName()).log(L evel.SEVERE, null, ex);
}
}
-
نقل قول: مشکل در متد insert در نتبینز
سلام. مرسی از جوابتون
نوشته ی استاد spaiderman که به متغیر c درون حلقه ی for گیر میده هر جور که تعریف کردم نشد بیرون از حلقه، با یه نام دیگه و... خلاصه نشد.
و اما تغییرات استاد افشاری اونم جواب نداد:عصبانی++:
خروجی استاد افشاری
init:
deps-jar:
compile:
run:
select * from T_Film where name_film='y'
-
نقل قول: مشکل در متد insert در نتبینز
سلام. مرسی از جوابتون
نوشته ی استاد spaiderman که به متغیر c درون حلقه ی for گیر میده هر جور که تعریف کردم نشد بیرون از حلقه، با یه نام دیگه و... خلاصه نشد.
و اما تغییرات استاد افشاری اونم جواب نداد:عصبانی++:
خروجی استاد افشاری
init:
deps-jar:
compile:
run:
select * from T_Film where name_film='y'
-
نقل قول: مشکل در متد insert در نتبینز
کد من به هیچ عنوان مشکلی نداره. چون تستش کردم.
کدی که گذاشتم یه کد که خودتون باید قاطی بقیه ی کدهاتون بکنیدش.
کار خیلی ساده ایه. نمیدونم چرا اینقدر گیر میاد توی کار شما.اگه دوست داشتید کل برنامتونو اینجا بذارید، تا من واستون جدولشو راه بندازم.
موفق باشید
-
نقل قول: مشکل در متد insert در نتبینز
سلام. میدونم که یه سری از کدا رو خودم باید بهش اضافه کنم این کارم کردم. خیلی ممنون.
مرسی دست شما درد نکنه خودم شروع کردم خودمم باید تمومش کنم.:افسرده:
-
نقل قول: مشکل در متد insert در نتبینز
فکر می کنم لااقل برای خط 21 کد باید یه چیزی نمایش داده بشه.
بهر حال این نشون میده که ResultSet خالیه و ممکنه مشکل از متد search باشه.
-
نقل قول: مشکل در متد insert در نتبینز
کد spiderman خیلی خوب و کامله. توصیه می کنم سعی کنید اشکالشو از بین ببرید و از همون استفاده کنید.
توی خط 12 بخش ++c متغیر C به شکل Uppercase نوشته شده که ممکنه اشکال از همون جا باشه.
-
نقل قول: مشکل در متد insert در نتبینز
خدا خیرتون بده.
اگه موفق شدم حتما خبرتون میکنم اگه هم که نه دوباره مزاحم میشم.:افسرده:
-
نقل قول: مشکل در متد insert در نتبینز
سلام مجدد. اساتید این خطایی هست تو کد استاد spaiderman میده، من که ازش سر در نمیارم:عصبانی++:
init:
deps-jar:
Compiling 1 source file to D:\movi_manager_1_1\build\classes
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int c = 1; c <= col; C++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int c = 1; c <= col; C++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int c = 1; c <= col; C++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int c = 1; c <= col; C++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int c = 1; c <= col; C++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: ';' expected
for (int c = 1; c <= col; C++?????) {
6 errors
BUILD FAILED (total time: 1 second)
-
نقل قول: مشکل در متد insert در نتبینز
ببخشید یه سوال دیگه؟؟؟
در چه صورتیه که executeqouery را شناسایی نمکنه؟؟؟
-
نقل قول: مشکل در متد insert در نتبینز
اشتباها یکی از cهای حلقه ی for بزرگ تایپ شده بود.البته تقصیر سایته که بعضی حرف ها رو اینطوری میکنه.
حلقه ی for رو اینطوری بنویسید، درست میشه.
for (int i = 1; i <= col; i++) {
row.add(rs.getString(col));
}
نقل قول:
نوشته شده توسط
arezo1174
ببخشید یه سوال دیگه؟؟؟
در چه صورتیه که executeqouery را شناسایی نمکنه؟؟؟
منظورتون چیه؟
-
نقل قول: مشکل در متد insert در نتبینز
این کارا خودمم هم کردم جواب نداد نگاه کنید
init:
deps-jar:
Compiling 1 source file to D:\movi_manager_1_1\build\classes
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int i = 1; i <= col; i++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int i = 1; i <= col; i++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
-
نقل قول: مشکل در متد insert در نتبینز
الان با executeqoury مشکلی ندارم حل شده ولی وقتی کتابخونه ی زیر بود شناسایی نمیکرد خطا میداد که با حذف کردن خط زیر مشکل حل شد میخاستم بدونم چرا؟؟؟؟؟؟
import java.beans.Statement;
-
نقل قول: مشکل در متد insert در نتبینز
نقل قول:
نوشته شده توسط
arezo1174
الان با executeqoury مشکلی ندارم حل شده ولی وقتی کتابخونه ی زیر بود شناسایی نمیکرد خطا میداد که با حذف کردن خط زیر مشکل حل شد میخاستم بدونم چرا؟؟؟؟؟؟
import java.beans.Statement;
شما کلاس Statement از پکیج beans رو import کرده بودید. توی این کلاس متد executeQuery تعریف نشده.
executeQuery توی کلاس Statement از پکیج sql تعریف شده. باید این کلاس رو import کنید.
-
نقل قول: مشکل در متد insert در نتبینز
گفتم که الان مشکلی ندارم حذف کردم .
برام جالب بود حتی وقتی یه کتابخونه اضافه هم باشه خطا میده کتابخونه ی sql هم بود.
دیدید به متغیر i هم گیر میده:متعجب:
-
نقل قول: مشکل در متد insert در نتبینز
نقل قول:
نوشته شده توسط
arezo1174
این کارا خودمم هم کردم جواب نداد نگاه کنید
init:
deps-jar:
Compiling 1 source file to D:\movi_manager_1_1\build\classes
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int i = 1; i <= col; i++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
for (int i = 1; i <= col; i++?????) {
D:\movi_manager_1_1\src\movi_manager\NewJFrame1.ja va:114: illegal character: \8206
جالبه. این کد برای من دقیقا کار میکنه ولی برای شما نه.:متفکر:
احتمالا چون کد ها رو از اینجا کپی کردید، یه سری کاراکتر های اضافه ی اشتباه که قابل دیدن هم نیستن، با کدها کپی شده.
سعی کنید کد ها رو خودتون دستی بنویسید. ببینید مشکل حل میشه یا نه.
-
نقل قول: مشکل در متد insert در نتبینز
چشم.
این از شانسه منه:گریه:
-
نقل قول: مشکل در متد insert در نتبینز
الان داره همون خطایی که به اولین کدی که خودم نوشته بودم میده در واقع اکسپشن میده
init:
deps-jar:
Compiling 1 source file to D:\movi_manager_1_1\build\classes
compile-single:
run-single:
May 22, 2012 1:03:37 PM movi_manager.NewJFrame1 jButton1ActionPerformed
SEVERE: null
java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
at sun.jdbc.odbc.JdbcOdbcResultSet.last(JdbcOdbcResul tSet.java:2291)
at movi_manager.NewJFrame1.jButton1ActionPerformed(Ne wJFrame1.java:97)
at movi_manager.NewJFrame1.access$000(NewJFrame1.java :21)
at movi_manager.NewJFrame1$1.actionPerformed(NewJFram e1.java:60)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)
BUILD SUCCESSFUL (total time: 2 minutes 24 seconds)
-
نقل قول: مشکل در متد insert در نتبینز
خطایی که به برنامه خودم میداد
java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
-
نقل قول: مشکل در متد insert در نتبینز
این خطا به این معنیه که شما فقط می تونید Result set رو به سمت جلو پویش کنید و امکان عقب اومدن وجود نداره.
-
نقل قول: مشکل در متد insert در نتبینز
سلام. این که گفتین ینی چی؟؟؟؟؟:گریه::گریه::گریه:
-
نقل قول: مشکل در متد insert در نتبینز
سلام. ینی تا به حال هیچ کس با این exception برخورد نکرده؟؟؟؟؟؟؟؟
-
نقل قول: مشکل در متد insert در نتبینز
سلام. به قول کاربر sharfip ینی جواب ما رو هیچ کس نمیده؟؟؟؟؟؟:افسرده::افسرده:
-
نقل قول: مشکل در متد insert در نتبینز
تابع ResultSet.last() رو من توی کد ندیدم. از این تابع استفاده کردین؟
وقتی یه ResultSet رو به کمک last یا next های متوای تا آخر طی میکنید دیگه امکان اینکه برگردید و از سطر اول کار رو شروع کنید وجود نداره مگه اینکه دوباره ResultSet رو مقدار دهی کنید.
-
نقل قول: مشکل در متد insert در نتبینز
خوب کد زیر همین کارا میکنه دیگه :ناراحت:
ResultSet sr = st.executeQuery("select * from T_Film");
sr.last();