oracle9数据库所支持的类型问题!进者有分

yuppy 2009-04-19 10:50:56

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class Jdbctest {

public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.1.102:1521:ora9";
String username = "scott";
String password = "tiger";
Connection conn = DriverManager.getConnection(url, username, password);

PreparedStatement ps = conn.prepareStatement("select *from users where password=?");
ParameterMetaData pmm = ps.getParameterMetaData();//这行有问题
String name = pmm.getParameterTypeName(1);
System.out.println(name);
ps.close();
conn.close();
}

}

跑出来会报个什么不支持的特性错误~~oracle9不是支持吗?
...全文
166 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
TCBTCBTCB 2009-04-28
  • 打赏
  • 举报
回复
呵呵,换个驱动啊!
ypchengmsdn 2009-04-28
  • 打赏
  • 举报
回复
帮顶吧
deitel85 2009-04-28
  • 打赏
  • 举报
回复
你的ORACLE DRIVER用的哪个?CLASS6?
lxguidu 2009-04-28
  • 打赏
  • 举报
回复
可能是Oracle的版本问题吧
lostyue 2009-04-28
  • 打赏
  • 举报
回复
顶下了~~
KingZChina 2009-04-28
  • 打赏
  • 举报
回复

PreparedStatement ps = conn.prepareStatement("select *from users where password=?");
这完了是不是要set下参数值啊?
String para = "100"
ps.setString(1,para);

然后在这样 看看行不?
ParameterMetaData pmm = ps.getParameterMetaData();//这行有问题
qybao 2009-04-28
  • 打赏
  • 举报
回复
select *from users where password=?
这里有问题吧?
select * from users where password=?
yuppy 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ty_tarena_pger 的回复:]
你的用法有问题,能不能说下你要实现什么目的啊
ParameterMetaData和存储过程有关联,我看你代码中也没出现存储过程(ParameterMetaData我并没用过)
你是不是把ParameterMetaData和ResultSetMetaData混淆了啊?
[/Quote]
不过我确实是想得到ResultSetMetaData 也可以得到的值=。=!
yuppy 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ty_tarena_pger 的回复:]
你的用法有问题,能不能说下你要实现什么目的啊
ParameterMetaData和存储过程有关联,我看你代码中也没出现存储过程(ParameterMetaData我并没用过)
你是不是把ParameterMetaData和ResultSetMetaData混淆了啊?
[/Quote]
ParameterMetaData可用于获取关于 PreparedStatement 对象中参数的类型和属性信息的对象。 这个怎么会个存储过程有关系呢?
存储过程不是用CallableStatement 吗?
大哥能解释下不?
yuppy 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kokobox 的回复:]
你用的是什么驱动? 更换一下驱动包或者升级一下驱动包。
[/Quote]
用的是Oracle14驱动呢~~没问题吧~
mzjmicrosoft 2009-04-19
  • 打赏
  • 举报
回复
Oracle 不熟悉
帮顶
ET郭强 2009-04-19
  • 打赏
  • 举报
回复
用的是SQL2000,对Orcale不太了解
yxc0433 2009-04-19
  • 打赏
  • 举报
回复
帮顶
筱伟 2009-04-19
  • 打赏
  • 举报
回复
oracle9没有用过,一直用的是orcale10.0,在10.0版本里应该是没有问题的!
cww2010 2009-04-19
  • 打赏
  • 举报
回复
帮顶!

不明白ParameterMetaData pmm = ps.getParameterMetaData();是做什么用的。
chinahack521 2009-04-19
  • 打赏
  • 举报
回复
你的用法有问题,能不能说下你要实现什么目的啊
ParameterMetaData和存储过程有关联,我看你代码中也没出现存储过程(ParameterMetaData我并没用过)
你是不是把ParameterMetaData和ResultSetMetaData混淆了啊?
ty_tarena_pger 2009-04-19
  • 打赏
  • 举报
回复
你的用法有问题,能不能说下你要实现什么目的啊
ParameterMetaData和存储过程有关联,我看你代码中也没出现存储过程(ParameterMetaData我并没用过)
你是不是把ParameterMetaData和ResultSetMetaData混淆了啊?
Somnus_kay 2009-04-19
  • 打赏
  • 举报
回复
用的是SQL200 ,没用Oracle
stt123456 2009-04-19
  • 打赏
  • 举报
回复
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class Jdbctest {

public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.1.102:1521:ora9";
String username = "scott";
String password = "tiger";
Connection conn = DriverManager.getConnection(url, username, password);

PreparedStatement ps = conn.prepareStatement("select *from users where password=?");//你这个问号是输入的啊 我怎么看不到有任何的set 方法
ParameterMetaData pmm = ps.getParameterMetaData();//这行有问题
String name = pmm.getParameterTypeName(1);//这个写法 我感觉象存储过程取值
System.out.println(name);
ps.close(); 再说差出来的只有一条记录吗 或保证就一个属性吗?
conn.close();
}

}

我写的一个方法 最简单的了
public static boolean selectusername(getset set) {
boolean flag=false;
Connection connection =open.open();
PreparedStatement pStatement=null;
ResultSet rSet=null;
System.err.println(set.getUsername()+set.getPassword());
try {
pStatement=connection.prepareStatement("select * from account where username=? and password=?");
pStatement.setString(1,set.getUsername());
pStatement.setString(2,set.getPassword());
rSet=pStatement.executeQuery();

if (rSet.next()) {
System.err.println("=======");
flag=true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return flag;

}
kokobox 2009-04-19
  • 打赏
  • 举报
回复
你用的是什么驱动? 更换一下驱动包或者升级一下驱动包。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧