0

我正在使用 Eclipse IDE 版本:Helios Service Release 2 和 JDK 版本 1.6。我的系统上安装了 SQL Server 2008。我已经下载了 Microsoft JDBC 驱动程序并将 jar 文件的路径包含在 Eclipse IDE-> Project Properties->Java build Path-> Libraries -> Add External jars 中。

我为数据库连接编写了这段代码:

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 令牌
上的语法错误,错位的构造

我是 Java 和 Eclipse IDE 的新手。请帮助我纠正这个错误。快速帮助表示赞赏。

4

3 回答 3

2

这些陈述:

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

目前只是类的一部分 - 不在方法、构造函数或静态初始化程序等中。您可能希望将它们放在构造函数中。前面的没问题,因为它们是变量声明——尽管你是否真的希望它们成为实例变量是另一回事。

另请注意,driverName您给出的代码中的任何地方都没有声明。

顺便说一句,如果您对 Java 足够陌生,以至于遇到了这种事情,那么您应该完全放弃当前的代码:您当前正在尝试跑步,然后才能走路。正确地与数据库对话并非易事,在学习 Java 语法的同时尝试学习如何做到这一点会很麻烦。从简单的控制台应用程序开始,让您学习语言和一些核心类型(字符串、数字、集合等),然后转向数据库。

于 2012-08-31T12:21:34.607 回答
0
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;
   }
}
于 2012-08-31T12:21:09.580 回答
0

您需要将语句放在方法而不是类块中。

Class.forName(drivername);

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

鉴于您使用的是 SQL Server,您需要声明driverName

final String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
于 2012-08-31T12:21:19.127 回答