[英]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.