请教大家个JDBC的问题:
public String[] getDiaryList()
{
String [] name = {""};
String Diary = "jdbc:odbc:Diary";
int i=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(Diary,"","");
Statement st = conn.createStatement();
ResultSet rec = st.executeQuery("SELECT * FROM Diary ORDER BY ID");
while (rec.next())
{
System.out.println(rec.getString("diaryName"));//此处可以输出数据库内的东西
name[i] = rec.getString("diaryName");
i++;
}
}
catch (Exception e)
{
System.out.println("Wrong: "+e.toString());
}
return(name);
}
本想用name[]获取数据库中的内容
可是发现一运行就报错:java.sql.SQLException:No Data Found!
但是在对name[]赋值之前的直接打印输出是没问题的。所以应该不是数据库的连接问题,请大家帮忙看看....
另:我后来又试了用ArrayList先去获取数据库的内容,可是依然报No Data Found!的错.....请教....
public String[] getDiaryList()
{
String [] name = {""};
String Diary = "jdbc:odbc:Diary";
int i=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(Diary,"","");
Statement st = conn.createStatement();
ResultSet rec = st.executeQuery("SELECT * FROM Diary ORDER BY ID");
while (rec.next())
{
System.out.println(rec.getString("diaryName"));//此处可以输出数据库内的东西
name[i] = rec.getString("diaryName");
i++;
}
}
catch (Exception e)
{
System.out.println("Wrong: "+e.toString());
}
return(name);
}
本想用name[]获取数据库中的内容
可是发现一运行就报错:java.sql.SQLException:No Data Found!
但是在对name[]赋值之前的直接打印输出是没问题的。所以应该不是数据库的连接问题,请大家帮忙看看....
另:我后来又试了用ArrayList先去获取数据库的内容,可是依然报No Data Found!的错.....请教....
解决方案 »
- 求救,几个小问题~~- -!初学者求助
- 请帮我看看那里错了 菜鸟
- 请教一个很基础的问题
- 怎样把type为int的数据强制转化成String型???(很菜的问题,大家见笑了:-))
- ■■投诉Java版主,您是MS的枪手,删除Java贴子,想要我们学.net吗?大家同意的,每人发贴子,一起UP,一起投诉!!!
- How to get the error message when execute "Runtime.getRuntime().exec('javac demo.java')"?
- 请大家推荐几个经典的JAVA网站!!(经典者给分)
- 哪有下载JAVA程序或软件的网站?
- 请教组织一个StyledDocument类型的“量子级应用”的学习方法.
- 21点游戏源码求高手修改 急!!!
- 谁有struts的分页显示的完整代码,最好是与sql数据库的
- 学习JAVA中有些迷惑,请指教!
你的数组初始化有问题
ResultSet rec = st.executeQuery("SELECT count(diaryName)i FROM Diary ");
rec.next();
count=rec.getInt("i");//取记录总数
rec.close();
String [] name=new String(count);
ResultSet rec = st.executeQuery("SELECT * FROM Diary ORDER BY ID");
int i=0;
while(rec.next()){
name[i++]=rec.getString("diaryName");
}
rec.close();
---------------------
不建议试用 select * from table;用什么就取什么,使用select * 很影响效率