你只需把sql-connector-java-3.0.11-stable-bin.jar的classpath给打通就行了。 把它放在哪个地方都行。编程使可像下面一样用它。记得把user,password,liquor(database),listtable(table),改成你自己的。 public class PriceServer { static void main(String[] args){ try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); // or lass.forName("org.gjt.mm.mysql.Driver"); String url = "jdbc:mysql://localhost:3306/liquor?user=root&password=root"; Connection con = DriverManager.getConnection(url); Statement stmt = con.createStatement(); String sql = "select price from list_table where JAN_code=" + JANcode; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ price = rs.getInt("price"); System.out.println(price); } stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace();}
} }
mysql-connector-java-3.0.11-stable-bin.jar 如果是PIII的机器直接放到\J2sdk\jre\lib\ext就可以了;如果是PIIII或更高级的建议放到classpath里就可以了 如classpath= .;c:\j2sdk\lib;c:\j2sdk\jdbc\sms.jar;C:\j2sdk\jdbc\junit.jar;C:\j2sdk\jdbc\mysql-connector-java-3.0.10-stable-bin.jar;C:\j2sdk\jdbc\sybase-jconn2.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;c:\sybaseclientforp4\ASEP\3pclass.zip;c:\sybaseclientforp4\ASEP\monclass.zip;
还是不行啊,会提示:java.sql.SQLException: No suitable driver at java.sql.DriverManager.getConnection(DriverManager.java:532) at java.sql.DriverManager.getConnection(DriverManager.java:171) at data.Data.main(Data.java:14)
ERROR 1044 (42000): Access denied for user: ''@'localhost' to database 'forum'
mysql>
谁能指点一下
或者 你的权限不够(很有可能)
把它放在哪个地方都行。编程使可像下面一样用它。记得把user,password,liquor(database),listtable(table),改成你自己的。
public class PriceServer {
static void main(String[] args){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
// or lass.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://localhost:3306/liquor?user=root&password=root";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
String sql = "select price from list_table where JAN_code=" + JANcode;
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
price = rs.getInt("price");
System.out.println(price);
}
stmt.close();
con.close();
} catch (Exception e) { e.printStackTrace();}
}
}
如果是PIII的机器直接放到\J2sdk\jre\lib\ext就可以了;如果是PIIII或更高级的建议放到classpath里就可以了
如classpath=
.;c:\j2sdk\lib;c:\j2sdk\jdbc\sms.jar;C:\j2sdk\jdbc\junit.jar;C:\j2sdk\jdbc\mysql-connector-java-3.0.10-stable-bin.jar;C:\j2sdk\jdbc\sybase-jconn2.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;c:\sybaseclientforp4\ASEP\3pclass.zip;c:\sybaseclientforp4\ASEP\monclass.zip;
就这么简单,如果还不行,我劈了电脑。
import java.sql.*;
public class CreateCoffees
{
public static void main(String[] args)
{
String url = "jdbc:mysql://localhost/coffeebreak";
//jdbc:mysql://127.0.0.1:3306/coffeebreak
Connection con;
String createString;
createString = "create table COFFEES"+
"(COF_NAME varchar(32),"+
"SUP_ID int,"+
"PRICE float,"+
"SALES int,"+
"TOTAL int)";
Statement stmt;
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(java.lang.ClassNotFoundException e)
{
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
try
{
con = DriverManager.getConnection(url,"root","");
stmt = con.createStatement();
stmt.executeUpdate(createString);
stmt.close();
con.close();
}
catch(SQLException e)
{
System.err.println("SQLException"+e.getMessage());
}
}
} 你就照着这个程序写一个吧,如果还不行,我只能这样了。
关注中……
No Suitable Driver,这就很可能是你的URL格式有问题了,试试"jdbc:mysql://localhost:3306/test"应该可以的.
Class.forName("org.gjt.mm.mysql.Driver");和Class.forName("com.mysql.jdbc.Driver");
使用的时候有什么区别?
还有有的要写端口3306有的不写
有区别吗?还有Connection databaseconnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/roughset?user=user&password=pass");
和Connection databaseconnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/roughset","user","pass");有区别吗?