我用myEclipse连接mysql数据库查询,为什么结果集什么都不显示,新手。。。
packageconnDB;importjava.sql.*;importjava.text.SimpleDateFormat;importjava.util.Date;...
package connDB;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class connect {
//String getName="com.microsoft.jdbc.sqlserver.SQLSercerDriver";
//String getUrl="jdbc.microsoft.sqlserver://localhost:1433;DatabaseName=dbName";
public static String driver=("com.mysql.jdbc.Driver");
public static String url="jdbc:mysql://localhost:3306/user";
public static String user="sa";
public static String password="jiahuime";
Connection conn=null;
Statement stat=null;
public void con(){
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,"root","jiahuime");
stat=conn.createStatement();
}
catch(Exception e){
e.printStackTrace();
}
//System.out.println(conn);
try{
conn.close();
}
catch(SQLException se){
se.printStackTrace();
}
}
public String select(String s){
String str=null;
String sql="select * from userinfo";
try{
ResultSet rs=stat.executeQuery(sql);
while(rs.next()){
String name=rs.getString(1);
//String date=rs.getString(2);
//str=(str+rs.getString(1)+rs.getString(2));
System.out.println("jieguo"+name);
}
}
catch(SQLException se){
se.printStackTrace();}
return str;
}
public static void main(String args[]){
//Date date=new Date();
//String sql="insert into userinfo values(null,'123','"+date+"')";
}
} 展开
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class connect {
//String getName="com.microsoft.jdbc.sqlserver.SQLSercerDriver";
//String getUrl="jdbc.microsoft.sqlserver://localhost:1433;DatabaseName=dbName";
public static String driver=("com.mysql.jdbc.Driver");
public static String url="jdbc:mysql://localhost:3306/user";
public static String user="sa";
public static String password="jiahuime";
Connection conn=null;
Statement stat=null;
public void con(){
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,"root","jiahuime");
stat=conn.createStatement();
}
catch(Exception e){
e.printStackTrace();
}
//System.out.println(conn);
try{
conn.close();
}
catch(SQLException se){
se.printStackTrace();
}
}
public String select(String s){
String str=null;
String sql="select * from userinfo";
try{
ResultSet rs=stat.executeQuery(sql);
while(rs.next()){
String name=rs.getString(1);
//String date=rs.getString(2);
//str=(str+rs.getString(1)+rs.getString(2));
System.out.println("jieguo"+name);
}
}
catch(SQLException se){
se.printStackTrace();}
return str;
}
public static void main(String args[]){
//Date date=new Date();
//String sql="insert into userinfo values(null,'123','"+date+"')";
}
} 展开
3个回答
展开全部
主要原因main方法什么都没有
你得先调用con()获得statement 然后调用
然后调select方法,才能显示结果,
你的select方法的参数s没起作用,你是不是想传sql?而且没有写return
那你main方法
new con();
select(sql);就可以l了
你得先调用con()获得statement 然后调用
然后调select方法,才能显示结果,
你的select方法的参数s没起作用,你是不是想传sql?而且没有写return
那你main方法
new con();
select(sql);就可以l了
更多追问追答
追问
用你的方法出错了。。Exception in thread "main" java.lang.NullPointerException
追答
好吧 我的问题 那个select方法根本不能获取connection和statement
Connection conn=null;
Statement stat=null;
加static
static Connection conn=null;
static Statement stat=null;
main里面这样写
new ProTest().con();
new ProTest().select();
展开全部
真是弱爆了。
1.创建连接的代码和关闭连接的代码请分别写成单独的静态方法,这样好调用。
2.public String select(String s)这个方法里都没出现对创建连接的方法调用,怎么就用起了stat这个变量,况且你的Statement定义的变量还不是静态的。不过没必要写成静态的。
按我的第一步写,然后在select方法里调用创建连接的静态方法,查询显示结果后在调用关闭连接的静态方法。
1.创建连接的代码和关闭连接的代码请分别写成单独的静态方法,这样好调用。
2.public String select(String s)这个方法里都没出现对创建连接的方法调用,怎么就用起了stat这个变量,况且你的Statement定义的变量还不是静态的。不过没必要写成静态的。
按我的第一步写,然后在select方法里调用创建连接的静态方法,查询显示结果后在调用关闭连接的静态方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确定你数据库中是否有user库,确认有userinfo表,确认表中有数据。在select(String s)方法中先调用con()方法,否则无法执行stat=conn.createStatement();stat对象处于null状态是无法执行数据库语句的。在外部调用select(String s)应该是会有结果的。其次发现楼主很多变量没使用,逻辑很混乱。建议如下修改:
package connDB;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class connect {
public static String driver=("com.mysql.jdbc.Driver");
public static String url="jdbc:mysql://localhost:3306/user";
public static String user="root";
public static String password="jiahuime";
public Statement con(){
Connection conn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
return conn.createStatement();
}
catch(Exception e){
e.printStackTrace();
}catch(SQLException se){
se.printStackTrace();
}finally{
conn.close();
}
}
public void select(){
String sql="select * from userinfo";
Statement stat=con();
try{
ResultSet rs=stat.executeQuery(sql);
while(rs.next()){
String name=rs.getString(1);
System.out.println("jieguo"+name);
}
}
catch(SQLException se){
se.printStackTrace();
}finally{
rs.close();
stat.close();
}
}
public static void main(String args[]){
select();
}
}
package connDB;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class connect {
public static String driver=("com.mysql.jdbc.Driver");
public static String url="jdbc:mysql://localhost:3306/user";
public static String user="root";
public static String password="jiahuime";
public Statement con(){
Connection conn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
return conn.createStatement();
}
catch(Exception e){
e.printStackTrace();
}catch(SQLException se){
se.printStackTrace();
}finally{
conn.close();
}
}
public void select(){
String sql="select * from userinfo";
Statement stat=con();
try{
ResultSet rs=stat.executeQuery(sql);
while(rs.next()){
String name=rs.getString(1);
System.out.println("jieguo"+name);
}
}
catch(SQLException se){
se.printStackTrace();
}finally{
rs.close();
stat.close();
}
}
public static void main(String args[]){
select();
}
}
追问
你写的这个有错误啊、、
追答
package connDB;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class connect {
public static String driver=("com.mysql.jdbc.Driver");
public static String url="jdbc:mysql://localhost:3306/user";
public static String user="root";
public static String password="jiahuime";
public void con(){
Connection conn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
Statement ss = conn.createStatement();
select(ss);
}
catch(Exception e){
e.printStackTrace();
}catch(SQLException se){
se.printStackTrace();
}finally{
conn.close();
}
}
public void select(Statement stat){
String sql="select * from userinfo";
try{
ResultSet rs=stat.executeQuery(sql);
while(rs.next()){
String name=rs.getString(1);
System.out.println("jieguo"+name);
}
}
catch(SQLException se){
se.printStackTrace();
}finally{
rs.close();
stat.close();
}
}
public static void main(String args[]){
con();
}
}
上次代码没放到IDE里看,随手敲的,没看清。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询