簡體   English   中英

使用Eclipse IDE在Java代碼中使用Class.forName的問題

[英]Issues with Class.forName in Java code using Eclipse IDE

我使用的是Eclipse IDE版本:Helios Service Release 2和JDK 1.6版。 我的系統上安裝了SQL Server 2008。 我已經下載了Microsoft JDBC驅動程序,並在Eclipse IDE-> Project Properties-> Java build Path-> Libraries - > Add External jars中包含了jar文件的路徑。

我已經為數據庫連接編寫了這段代碼:

package com.ucs.test;

import java.sql.*;

public class ConnectDatabase {

Connection DBconnection = null;
String dbName = "silkopenview";
String userName = "SilkTestAdmin"; 
String password = "Nbv12345";

Class.forName(drivername);

DBconnection = DriverManager.getConnection(dbName,userName,password);


}

但是我收到以下錯誤:

令牌“DBconnection”上的語法錯誤,此令牌后預期的VariableDeclaratorId
令牌“drivername”上的語法錯誤,此令牌后預期的VariableDeclaratorId
令牌上的語法錯誤,錯放的構造(s)

我是Java和Eclipse IDE的新手。 請幫我糾正這個錯誤。 歡迎快速幫助。

這些陳述:

Class.forName(drivername);    
DBconnection = DriverManager.getConnection(dbName,userName,password);

目前只是該類的一部分 - 不是在方法,構造函數或靜態初始化器等。您可能希望將它們放在構造函數中。 之前的那些是可以的,因為它們是變量聲明 - 盡管你是否真的希望它們是實例變量是另一回事。

另請注意, driverName未在您給出的代碼中的任何位置聲明。

從切入的角度來看,如果你對Java充滿了新的想法,那么你應該完全拋棄你當前的代碼:你現在正試圖在你走路之前跑。 正確地與數據庫交談並非易事,並且在學習Java語法的同時嘗試學習如何做到這一點將會變得混亂。 從簡單的控制台應用程序開始,讓您學習語言和一些核心類型(字符串,數字,集合等), 然后轉到數據庫。

Class.forName(drivername);
DBconnection = DriverManager.getConnection(dbName,userName,password);

你不能把它們放在你放在你班級的地方,你必須把它們放在構造函數/方法中,比如:

public class ConnectDatabase {

   Connection dbConnection = null;
   String dbName = "silkopenview";
   String userName = "SilkTestAdmin"; 
   String password = "Nbv12345";

   public Connection getConnection() {
      Class.forName(drivername);
      dbConnection = DriverManager.getConnection(dbName,userName,password);
      return dbConnection;
   }
}

您需要將語句放在方法中而不是類塊中。

Class.forName(drivername);

DBconnection = DriverManager.getConnection(dbName,userName,password);

鑒於您使用的是SQL Server,您需要聲明您的driverName

final String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM