首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请问一道java访问oracle,并且输出表中全部内容的编程有关问题

2013-07-04 
请教一道java访问oracle,并且输出表中全部内容的编程问题这是数据库的users表。create table users(id int

请教一道java访问oracle,并且输出表中全部内容的编程问题
这是数据库的users表。


create table users
(id int primary key,
 name varchar2(30) not null,
 password varchar2(32) not null,
 age int not null,
 sex varchar2(2) not null);


insert into users values(1, '李兴华', 'www.mldn.cn', 30, '男');
insert into users values(2, '李康', 'www.mldnjava.cn', 23, '女');


这是java程序。

package org.lxh.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class InsertDemo1 {
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:orcl";
public static final String DBUSER = "scott";
public static final String DBPASSWORD = "wang913292836";
public static void main(String args[]) throws Exception {
Connection conn = null;        //数据库连接
PreparedStatement pstmt = null;//数据库操作
ResultSet rs = null;                //保存查询结果
String sql = "select id, name, password, age, sex" +
       "from users";
Class.forName(DBDRIVER);//加载驱动程序
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
pstmt = conn.prepareStatement(sql);      //实例化PreparedStatement对象
rs = pstmt.executeQuery();               //实例化ResultSet对象
while(rs.next()) {
int id = rs.getInt(1);
String name = rs.getString(2);
String password = rs.getString(3);
int age = rs.getInt(4);
String sex = rs.getString(5);
System.out.print("编号:" + id + "; ");
System.out.print("姓名:" + name + "; ");
System.out.print("密码:" + password + "; ");
System.out.print("年龄:" + age + "; ");
System.out.println("性别:" + sex + "; ");
}
rs.close();             //关闭结果集


pstmt.close();//关闭操作
conn.close();//关闭数据库
}
}



这是程序运行异常的结果。
Exception in thread "main" java.sql.SQLException: ORA-00923: 未找到要求的 FROM 关键字

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
at org.lxh.demo.InsertDemo1.main(InsertDemo1.java:20)
恳请各位前辈多多指教! Java Oracle
[解决办法]
 String sql = "select id, name, password, age, sex" +
               "from users"; 你可以试试sex后面加空格 要不然就不是from 而是sexfrom
[解决办法]
引用:
 String sql = "select id, name, password, age, sex" +
               "from users"; 你可以试试sex后面加空格 要不然就不是from 而是sexfrom
正解
[解决办法]
LZ的故事告诉我们:sql什么的,尽量写到一行里~

热点排行