以下的数据库连接程序,错在哪里啊?
发现自己查错能力好差啊,高手帮帮忙
import java.sql.*;public class DBConnection {
public static Connection getConnection() {
Connection conn = null;
ResultSet rs;
Statement st;
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/guestBook?user=admin&password=apple");
st=conn.createStatement();
String sql="create table bookInf (bookID numberic(12) ,bookName varchar(20))";
rs=st.executeUpdate(sql);
rs=st.executeUpdate("insert into bookInf values ('123','java')");
rs=st.executeQuery("select * from bookInf");
}
catch (Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败!!");
}
while(rs.next()){
int ID=rs.getInt(1);
String bookname=rs.getString(2);
System.out.println("ID:"+ID+";BookName:"+bookname+"\n");
}
try{
st.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
发现自己查错能力好差啊,高手帮帮忙
import java.sql.*;public class DBConnection {
public static Connection getConnection() {
Connection conn = null;
ResultSet rs;
Statement st;
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/guestBook?user=admin&password=apple");
st=conn.createStatement();
String sql="create table bookInf (bookID numberic(12) ,bookName varchar(20))";
rs=st.executeUpdate(sql);
rs=st.executeUpdate("insert into bookInf values ('123','java')");
rs=st.executeQuery("select * from bookInf");
}
catch (Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败!!");
}
while(rs.next()){
int ID=rs.getInt(1);
String bookname=rs.getString(2);
System.out.println("ID:"+ID+";BookName:"+bookname+"\n");
}
try{
st.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String args[]) {
Connection conn = null;
ResultSet rs;
Statement st;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=meeting","sa","");
st=conn.createStatement();
String sql="create table bookInf (bookID numberic(12) ,bookName varchar(20))";
st.executeUpdate(sql);
st.executeUpdate("insert into bookInf values ('123','java')");
rs=st.executeQuery("select * from bookInf");
while(rs.next()){
int ID=rs.getInt(1);
String bookname=rs.getString(2);
System.out.println("ID:"+ID+";BookName:"+bookname+"\n");
}
st.close();
}
catch (Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败!!");
}
}
}
调试了一下,不过我的机子上没有装mysql驱动,所以改成了,sql server,应该差不多,楼主看看!
C:\javaapplication\DBConnection.java:13: incompatible types
found : int
required: java.sql.ResultSet
rs=st.executeUpdate(sql);
^
C:\javaapplication\DBConnection.java:14: incompatible types
found : int
required: java.sql.ResultSet
rs=st.executeUpdate("insert into bookInf values ('123','java')");
^
2 errorsProcess completed.看不懂是什么原因啊?你上面的程序在sqlserver能通过吗
int ID=rs.getInt(1);
类型不匹配
int result = rs.executeUpdate(sql);
返回到的int型是用来判断SQL语句是否执行成功的,如果不成功,result的值为0
是有很多错误,不过最主要的改了,小错误容易些
to 浪者:
的确没有怎么看api,看着英文就烦啊