链接数据库的代码应该怎么写啊
我用Connection con=DriverManager.getConnection("jdbc:mysql://localhost/lib1");
或者Connection con=DriverManager.getConnection("jdbc:mysql://tracy/lib1","tracy","000000");
都连接不上啊?是不是哪写错了,请指教
我用Connection con=DriverManager.getConnection("jdbc:mysql://localhost/lib1");
或者Connection con=DriverManager.getConnection("jdbc:mysql://tracy/lib1","tracy","000000");
都连接不上啊?是不是哪写错了,请指教
第一,确保的数据库的驱动加载到了当先的项目中啊 (D:\数据库驱动\SqlServer2K)
然后加载Class.forName("org.gjt.mm.mysql.Driver");
第 二 Connection con=DriverManager.getConnection(url,username,userpassword);
第三 然后Statement stm = conn.createStatement();
第四 取得结果集ResultSet,然后遍历结果集,出了问题控制台有出错信息的,看看错误信息,结合信息分析下一般都可以解决的,这个我也学了不久的,但愿对你有帮助
自己取调试package test;import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;public class Test4Data { public static void main(String args[]) throws IOException {
Test4Data td = new Test4Data();
td.options();
} public void options() {
System.out.println("input userName...");
Scanner keyboard = new Scanner(System.in);
String userName = "";
String password = "";
String dbName = "";
if (keyboard.hasNext()) {
userName = keyboard.next();
System.out.println("userName:" + userName);
} System.out.println("input password...");
if (keyboard.hasNext()) {
password = keyboard.next();
System.out.println("password:" + password);
} Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = getConn(userName, password);
if (conn != null) {
System.out.println("input dbName...");
if (keyboard.hasNext()) {
dbName = keyboard.next();
System.out.println("dbName:" + dbName);
}
}
ps = conn.prepareStatement("create database if not exists "
+ dbName);
ps.execute();
ps.close();
System.out.println("create database " + dbName + " done!");
ps = conn.prepareStatement("use " + dbName);
ps.execute();
ps.close();
System.out.println("change database " + dbName + " done!");
ps = conn
.prepareStatement("create table if not exists cd(id int,name varchar(200))");
ps.execute();
ps.close();
System.out.println("create table done!");
ps = conn.prepareStatement("insert into cd values(1,'String')");
ps.execute();
ps.close();
System.out.println("insert table done!");
ps = conn.prepareStatement("select * from cd");
rs = ps.executeQuery();
if (rs != null) {
while (rs.next()) {
System.out.println(rs.getInt("id") + ":"
+ rs.getString("name"));
}
}
ps.close();
System.out.println("select from table done!");
ps = conn.prepareStatement("drop database if exists " + dbName);
ps.execute();
System.out.println("drop database done!");
} catch (Exception e) {
e.printStackTrace();
} finally { if (ps != null) {
try {
ps.close();
} catch (Exception sqle) {
sqle.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (Exception sqle) {
sqle.printStackTrace();
}
}
}
return;
} public static Connection getConn(String userName, String password) {
String URL = "jdbc:mysql://127.0.0.1:3306";
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("class found!"); connection = DriverManager.getConnection(URL, userName, password);
System.out.println("connected!"); } catch (Exception err) {
err.printStackTrace();
return null;
} return connection;
}}
其次,你的URL写的不对,
jdbc:mysql://localhost:3306/dultscoreuse?Unicode=true&characterEncoding=gbk"
密码是要加上的,就是你的第二种
1 楼马甲给自己刷分的
证据在此
http://topic.csdn.net/u/20100528/10/931d08ec-7570-4005-9317-814fa0ef00ff.html?28348
http://topic.csdn.net/u/20100528/10/931d08ec-7570-4005-9317-814fa0ef00ff.html?79944
http://topic.csdn.net/u/20100528/10/9730be85-e616-4596-bb35-406cd4ccf0f6.html?96102
http://topic.csdn.net/u/20100528/10/03963521-6fa7-4864-bd59-0c3d3570567c.html
http://topic.csdn.net/u/20100528/10/b5d269b0-7c09-4faf-94c3-2d2e80eeec60.html?67517
http://topic.csdn.net/u/20100528/10/48c73739-8c90-4482-b51b-7f36c18049d3.html?4608