全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2314
推到 Plurk!
推到 Facebook!

ODBC 連結

尚未結案
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-13 04:33:20 IP:61.219.xxx.xxx 未訂閱
public void connect_db(){ try{ Class.forName("net.sourceforge.jtds.jdbc.Driver ");//載入JDBC驅動程式 } catch(ClassNotFoundException e1){System.out.println("Driver not found!");} try{ Connection con1 = DriverManager.getConnection ("jdbc:jtds:sqlserver://host:port/Database","user","password"); st1=con1.createStatement(); //建立Statement物件,以執行SQL命令 } catch(SQLException e2){System.out.println("table no found");} } public void close_db(){ try{ st1.close(); //關閉Statement物件 con1.close();//關閉ODBC連結物件 } catch(SQLException e2){System.out.println("error!!");} }//事件處理方法 ====== 連不上資料庫 是否哪裡有錯ㄚ 拜託大家幫我看一下哪有錯…謝謝…@@ 發表人 - chia720116 於 2004/08/13 18:19:17
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-13 07:52:26 IP:218.170.xxx.xxx 未訂閱
你在攔截錯誤訊息先寫成這樣的話
      catch(Exception ex)
        {
            System.out.println(ex.toString());
        }
可以看到完整的原始錯誤訊息,透過這個錯誤訊息比較能夠知道哪裡錯.
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-13 09:48:49 IP:61.64.xxx.xxx 未訂閱
引言: 你在攔截錯誤訊息先寫成這樣的話
      catch(Exception ex)
        {
            System.out.println(ex.toString());
        }
可以看到完整的原始錯誤訊息,透過這個錯誤訊息比較能夠知道哪裡錯.
用ex.printStackTrace();可以看出例外丟出的堆疊,更方便你去找出例外的經過.
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-13 11:09:45 IP:218.170.xxx.xxx 未訂閱
沒錯沒錯 這樣可以查的資訊比較詳細
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-13 17:50:24 IP:61.219.xxx.xxx 未訂閱
出現ㄉ錯誤訊息是醬子 ==== C:\JBuilderX\jdk1.4\bin\javaw -classpath "D:\(DSMS)Disk Storehouse Manage System\project\DSMS\classes;C:\JBuilderX\lib\jbcl.jar;C:\JBuilderX\lib\dx.jar;C:\JBuilderX\lib\beandt.jar;C:\JBuilderX\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;C:\JBuilderX\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;C:\JBuilderX\jdk1.4\jre\javaws\javaws.jar;C:\JBuilderX\jdk1.4\jre\lib\charsets.jar;C:\JBuilderX\jdk1.4\jre\lib\ext\dnsns.jar;C:\JBuilderX\jdk1.4\jre\lib\ext\ldapsec.jar;C:\JBuilderX\jdk1.4\jre\lib\ext\localedata.jar;C:\JBuilderX\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\JBuilderX\jdk1.4\jre\lib\im\indicim.jar;C:\JBuilderX\jdk1.4\jre\lib\im\thaiim.jar;C:\JBuilderX\jdk1.4\jre\lib\jce.jar;C:\JBuilderX\jdk1.4\jre\lib\jsse.jar;C:\JBuilderX\jdk1.4\jre\lib\plugin.jar;C:\JBuilderX\jdk1.4\jre\lib\rt.jar;C:\JBuilderX\jdk1.4\jre\lib\sunrsasign.jar;C:\JBuilderX\jdk1.4\lib\dt.jar;C:\JBuilderX\jdk1.4\lib\htmlconverter.jar;C:\JBuilderX\jdk1.4\lib\tools.jar" GuideMaterialOrder java.lang.NullPointerException at GuideMaterialOrder.jB1_actionPerformed(GuideMaterialOrder.java:243) at GuideMaterialOrder_jB1_actionAdapter.actionPerformed(GuideMaterialOrder.java:256) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) at java.awt.Component.processMouseEvent(Component.java:5100) at java.awt.Component.processEvent(Component.java:4897) at java.awt.Container.processEvent(Container.java:1569) at java.awt.Component.dispatchEventImpl(Component.java:3615) at java.awt.Container.dispatchEventImpl(Container.java:1627) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) at java.awt.Container.dispatchEventImpl(Container.java:1613) at java.awt.Window.dispatchEventImpl(Window.java:1606) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) ================ 我在做新增ㄉ動作…好像滿多錯ㄉ樣子…@@ 拜託幫我看一下吧…@@ 感謝… 發表人 - chia720116 於 2004/08/13 18:25:52 發表人 - chia720116 於 2004/08/13 18:27:04
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-13 18:13:17 IP:61.64.xxx.xxx 未訂閱
1.請把本題設定型態為"問題",而非討論,以便其他高手來解惑. 2.programming code請用[ code]....[ /code]來顯示排縮,要人看code,也要尊重人家的眼睛吧. 3.是什麼東西不見去了?你有沒有debug過?第241行是什麼?查一下吧
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-13 18:21:27 IP:61.219.xxx.xxx 未訂閱
真不好意思喔…全都丟上來了…@@ 我有try啦…但看不懂bug出來ㄉ訊息…
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-13 18:23:07 IP:61.219.xxx.xxx 未訂閱
public void connect_db(){ try{ Class.forName("net.sourceforge.jtds.jdbc.Driver ");//載入JDBC驅動程式 } catch(Exception e1){e1.printStackTrace();} try{ Connection con1 = DriverManager.getConnection ("jdbc:jtds:sqlserver://host:port/Database","user","password"); st1=con1.createStatement(); //建立Statement物件,以執行SQL命令 } catch(SQLException e2){System.out.println("table no found");} } public void close_db(){ try{ st1.close(); //關閉Statement物件 con1.close();//關閉ODBC連結物件 } catch(SQLException e2){System.out.println("error!!");} }//事件處理方法 public void jB1_actionPerformed(ActionEvent e) { //新增資料… String GMO_ID=jTF1.getText(); String MD_ID=jTF2.getText(); String GMO_Unit=jTF5.getText(); String GMO_Size=jTF6.getText(); String Depart_ID=jTF8.getText(); String Wokp_ID=jTF9.getText(); String GMO_weight =jTF4.getText(); int GMO_Q =Integer.parseInt(jTF3.getText()); String GMO_Date =jTF6.getText(); try { str1 = "INSERT INTO Guide Material Order" "(領料編號,物料編號,數量,淨重,單位,規格,領料日期,領用部門,負責人)"; str1 = str1 "values('" GMO_ID "',"; str1 = str1 MD_ID ","; str1 = str1 GMO_Q ","; str1 = str1 GMO_weight ","; str1 = str1 GMO_Unit ","; str1 = str1 GMO_Size ","; str1 = str1 GMO_Date ","; str1 = str1 Depart_ID ","; str1 = str1 Wokp_ID ")"; st1.executeUpdate(str1); --->243 } catch(SQLException e2){System.out.println("error!");} } } class GuideMaterialOrder_jB1_actionAdapter implements java.awt.event.ActionListener { GuideMaterialOrder adaptee; GuideMaterialOrder_jB1_actionAdapter(GuideMaterialOrder adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jB1_actionPerformed(e); --->256 } } 發表人 - chia720116 於 2004/08/13 18:28:36
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-08-13 20:04:33 IP:61.56.xxx.xxx 未訂閱
你的程式什麼地方執行了"connect_db();"的函數了?(st1沒有被指定) 執行之後,沒問題就不會有st1為null的問題了 不想買書的話,按部就班地到以下的網址看一下jdbc的基礎課程吧. http://java.sun.com/developer/onlineTraining/Database/JDBCShortCourse/index.html
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-08-13 23:33:38 IP:61.219.xxx.xxx 未訂閱
謝謝喔… 不過英文看不是很懂… 請問哪本書上有寫ㄉ比較詳細ㄚ… 我身邊只有swing ㄉ二本、java2 程式設計一本、JBuilder X ㄉ一本 不過都不是很詳細介紹…
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-08-14 02:34:33 IP:61.56.xxx.xxx 未訂閱
重點是你的st1可能重頭到尾都還沒建立(指定)當然是null的啊
 Class yourClass{
   Statement st1=null;
   void openConn(){
     ....
     st1=con.createStatement();
   }
    void closeConn(){
      ....
      st1.close();
    }
   public void jB1_actionPerformed(ActionEvent e) { 
          //新增資料…
      openConn(); 
     /*
     你一定少了這步驟吧.要不這步驟是在你的class 的建構中被呼叫,
     anyway,就是要把st1配賦一個sql statement 物件就是了
     */
      ...
      ...
       st1.executeUpdate(sql statement....);
      closeConn();
   }
}
有英文資料看就不錯了,以前沒有internet的時代要找資料真的是一字千金的了.
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-08-14 09:19:43 IP:61.219.xxx.xxx 未訂閱
是喔!!~~可是我用另一個程式在試試看連ㄉ起資料庫嗎?但好像連不起來!!~~ 一直都在顯示"NO"----- === import java.sql.*; public class JDBC { public static void main(String[] args) throws Exception { try{ Class.forName("net.sourceforge.jtds.jdbc.Driver "); Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/DSMS","sa","sa"); System.out.println("YES"); } catch(ClassNotFoundException e){System.out.println("NO");} catch(SQLException e){ System.out.println("NO Database"); } } } ===== 真ㄉ很謝謝你喔!!~~不過,英文程度不是很好!!~~ 我也差在這!!~ 所以我看不怎麼懂意思!!~@@
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-08-14 09:34:35 IP:61.56.xxx.xxx 未訂閱
是怎麼個NO法? 不是叫你們用[code ]...[/code ] ("e"與"]"之間不用空格,為了示範顯示才加入空格的)來貼code嗎? 之前不是有教你用 exception.printStackTrace();來看個究竟了嗎? 如果是class not found 的exception的話,請檢查一下該driver class的路徑有沒有在class path中宣告好嗎? 最後,要問有關database的問題時請務必說明你是用哪一家的database,及其版本,世間上database少說也有十來種.總不可能要人家都找給你吧. 參考以下的資訊吧: http://www.javaworld.com.tw/jute/post/view?bid=21&id=366 http://jtds.sourceforge.net/faq.html#driverImplementation 中間那一段classpath的問題說明吧(都已經是FAQ了) 發表人 - neoart 於 2004/08/14 09:56:09
chia720116
一般會員


發表:4
回覆:8
積分:2
註冊:2004-08-11

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-08-14 10:57:51 IP:61.219.xxx.xxx 未訂閱
資料庫連線已經連成功了!!~~ 謝謝你ㄉ指教ㄚ--- 我已經換成 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conDB=DriverManager.getConnection("jdbc:odbc:DSMS","sa","sa"); 這個了 總算是可以連了
系統時間:2024-04-27 16:46:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!