
java连接数据库后无返回
已经连接好了数据库运行之后也没有任何的报错但是就是没有返回集想要达到的效果是输入课程名字返回课程编号以及课程名称但是运行之后出不来课程编号和名称不知道哪里有问题求指教!谢...
已经连接好了数据库 运行之后也没有任何的报错 但是就是没有返回集
想要达到的效果是 输入课程名字 返回课程编号以及课程名称 但是运行之后出不来课程编号和名称 不知道哪里有问题 求指教!谢谢!
public class GetCname {
private String host;
private Connection conn;
private Statement stmt;
private ResultSet rs;
public GetCname(String host)
{
this.host=host;
}
public String[] getBaseInfo(String Cname)
{
String[] message=new String[2];
try
{
this.initialConnection();
String sql="select cno,cname from cno_cname where cname='"+Cname+"'";
rs=stmt.executeQuery(sql);
if(rs.next())
{
message[0]=rs.getString(1);
message[1]=new String(rs.getString(2).getBytes("gb2312"));
}
this.closeConn();
}
catch(Exception e){e.printStackTrace();}
return message;
}
这是接受代码
else
{//更新界面显示的控件
this.removeAll();
for(int i=0;i<2;i++)
{ jlArray2[i]=new JLabel(baseinfo[i]); }
label.setBounds(10, 10, 250, 39);add(label);
textField.setBounds(20, 48, 340, 39);add(textField);
btnGo.setBounds(356, 97, 93, 23);add(btnGo);
jlArray[0].setBounds(20,200,200,10);add(jlArray[0]);
jlArray[1].setBounds(20,250,200,10);add(jlArray[1]);
this.repaint();}
谢谢! 展开
想要达到的效果是 输入课程名字 返回课程编号以及课程名称 但是运行之后出不来课程编号和名称 不知道哪里有问题 求指教!谢谢!
public class GetCname {
private String host;
private Connection conn;
private Statement stmt;
private ResultSet rs;
public GetCname(String host)
{
this.host=host;
}
public String[] getBaseInfo(String Cname)
{
String[] message=new String[2];
try
{
this.initialConnection();
String sql="select cno,cname from cno_cname where cname='"+Cname+"'";
rs=stmt.executeQuery(sql);
if(rs.next())
{
message[0]=rs.getString(1);
message[1]=new String(rs.getString(2).getBytes("gb2312"));
}
this.closeConn();
}
catch(Exception e){e.printStackTrace();}
return message;
}
这是接受代码
else
{//更新界面显示的控件
this.removeAll();
for(int i=0;i<2;i++)
{ jlArray2[i]=new JLabel(baseinfo[i]); }
label.setBounds(10, 10, 250, 39);add(label);
textField.setBounds(20, 48, 340, 39);add(textField);
btnGo.setBounds(356, 97, 93, 23);add(btnGo);
jlArray[0].setBounds(20,200,200,10);add(jlArray[0]);
jlArray[1].setBounds(20,250,200,10);add(jlArray[1]);
this.repaint();}
谢谢! 展开
4个回答
展开全部
如果你的程序没有抛异常的话,建议你把sql输出出来去数据库查一下
最后return 的 message 数组是空的吧,断点跟一下
if(rs.next())
{
message[0]=rs.getString(1);
message[1]=new String(rs.getString(2).getBytes("gb2312"));
}
这个地方应该都没进去
或者试试 rs.getString("cno"); 这种写法
最后return 的 message 数组是空的吧,断点跟一下
if(rs.next())
{
message[0]=rs.getString(1);
message[1]=new String(rs.getString(2).getBytes("gb2312"));
}
这个地方应该都没进去
或者试试 rs.getString("cno"); 这种写法
追问
在接受部分的代码 如果baseinfo[0]==null,则输出错误 这段是可以运行的 我输入数据库里没有的名字时会弹出框告诉我错误 但是我输入数据库有的名字 它就不会返回 输入不存在的这段代码可以运行的话是不是说message数组不是空的? 比较小白不太懂。。谢谢!
追答
不是这样的。
你输入数据库里没有的名字时,sql不能正确执行,catch(Exception e){e.printStackTrace();} 这就会把异常抛出,就是你说的弹出框错误。
sql正确的话,message数组也可以空,是因为在数据库里,没有查到结果集,就是没有查到数据。
还是建议你把sql拿到数据库先查一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Statement stmt对象
ResultSet rs对象
都new出来了么?
把你的连接打出来应该是一个null。就是你连连接还没获取吧
ResultSet rs对象
都new出来了么?
把你的连接打出来应该是一个null。就是你连连接还没获取吧
更多追问追答
追问
private String host;
private Connection conn;
private Statement stmt;
private ResultSet rs;
这些已经写了
追答
可是你没有获取链接啊。这个只是引用。
你打印一下System.out.println(conn);ps:在this.closeConn(); 之前
应该是一个null吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-20
展开全部
这个 太简单了 我就不给你发 代码 了
http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html
给你一个 例子 自己 研究一下吧 应该不会超过 10分钟
http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html
给你一个 例子 自己 研究一下吧 应该不会超过 10分钟
追问
不好意思还是不懂哪里不对。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否接收结果集
追问
补充里写了接受的代码 是接受的代码有问题吗?
追答
问题解决了没?没有的话,你调试一下,看看rs中是否已经有值了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询