2011-06-25 99 views
-3

我想連接到數據庫。我的朋友寫了這段代碼,但沒有工作。它沒有顯示任何錯誤。連接到java中的sql數據庫

數據庫的名稱是testdb,表名稱是選項卡。它位於代碼所在的相同文件夾中。

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

public class dbtest { 
public static void main(String[] args){ 
    try { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection con = DriverManager.getConnection("jdbc:odbc:testdb"); 
     Statement stat = con.createStatement(); 
    stat.executeQuery("insert into tab values ('test','test','test')"); 
     //stat.executeUpdate(); 
    } catch (SQLException ex) { 
     Logger.getLogger(dbtest.class.getName()).log(Level.SEVERE, null, ex); 
    } catch (ClassNotFoundException ex) { 
     Logger.getLogger(dbtest.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    } 
} 
+3

不工作?你期望看到什麼?你真正看到了什麼? –

+3

爲什麼要借「朋友」的代碼?爲什麼不通過[Java數據庫教程]去(http://download.oracle.com/javase/tutorial/jdbc/index.html),學會寫自己的,一說實際上顯示了一定的效果? –

+0

@Steve McLeod:值不會被插入到數據庫中。 –

回答

2

問題是在你的ODBC連接

轉到ControlPanel-> AdministrativeTools->數據源(ODBC) - >系統DSN->添加 - > SqlServer->

然後在名稱字段給源名稱。

您必須在您的DriverManager.getConnection方法中使用此名稱而不是testdb。

由於getConnectionMethod採用源名稱而不是數據庫名稱。所以你的代碼不工作。

填充源名稱填寫您server.Then服務器領域,你會被要求綁定的源連接數據庫並設置數據庫name.Hopefully在完成後不過。