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不是支持吗?
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;
}
ParameterMetaData和存储过程有关联,我看你代码中也没出现存储过程(ParameterMetaData我并没用过)
你是不是把ParameterMetaData和ResultSetMetaData混淆了啊?
ParameterMetaData和存储过程有关联,我看你代码中也没出现存储过程(ParameterMetaData我并没用过)
你是不是把ParameterMetaData和ResultSetMetaData混淆了啊?
存储过程不是用CallableStatement 吗?
大哥能解释下不?
这里有问题吧?
select * from users where password=?
PreparedStatement ps = conn.prepareStatement("select *from users where password=?");
这完了是不是要set下参数值啊?
String para = "100"
ps.setString(1,para); 然后在这样 看看行不?
ParameterMetaData pmm = ps.getParameterMetaData();//这行有问题