各位大哥你们好,小弟有个忙需要大家帮一把,我的程序是:
dbc = new DBConnect();
dbc.prepareStatement("SELECT * FROM caiwu_master WHERE master_name = ? and master_password = ?");
dbc.setBytes(1,master_name.getBytes("utf-8"));
dbc.setBytes(2,master_password.getBytes("utf-8"));
System.out.println(master_name.getBytes("utf-8")); //数据显示为[B@1c4f0f8
System.out.println(master_name); //可以正常显示数据admin
rs = dbc.executeQuery();
但dbc.setBytes(1,master_name.getBytes("utf-8"));无法正常赋值
函数:dbc.setBytes如下:public void setBytes(int index,byte[] value) throws SQLException{
prepstmt.setBytes(index,value);}
请问哪位知道类型怎么转换才能正常赋值呢
dbc = new DBConnect();
dbc.prepareStatement("SELECT * FROM caiwu_master WHERE master_name = ? and master_password = ?");
dbc.setBytes(1,master_name.getBytes("utf-8"));
dbc.setBytes(2,master_password.getBytes("utf-8"));
System.out.println(master_name.getBytes("utf-8")); //数据显示为[B@1c4f0f8
System.out.println(master_name); //可以正常显示数据admin
rs = dbc.executeQuery();
但dbc.setBytes(1,master_name.getBytes("utf-8"));无法正常赋值
函数:dbc.setBytes如下:public void setBytes(int index,byte[] value) throws SQLException{
prepstmt.setBytes(index,value);}
请问哪位知道类型怎么转换才能正常赋值呢
dbc.setBytes(1,master_name.getBytes("utf-8"));
// 这一段的问题,后面的master_name.getBytes("utf-8")
//返回的数据类型不是byte类型或者其子类型吧
你这个往数据库里添加,添加的时候又把master_name 获取 getBytes("uft-8");这个是想把master_name 的编码方式变成 utf-8,还是 dbc.setBytes()这个类型要求用byte类型方式来解决啊?本来你是想master_name 添加到数据库吧,但是,为什么有把master_name.getBytes("uft-8")加进去呢? 有点乱
我的代码如下:
1.
public boolean chkLogin() throws Exception {
//System.out.print("asdfsdf");
DBConnect dbc = null;
try{
dbc = new DBConnect();
dbc.prepareStatement("SELECT * FROM caiwu_master WHERE master_name = ? and master_password = ?");
dbc.setBytes(1,master_name.getBytes("utf-8"));
dbc.setBytes(2,master_password.getBytes("utf-8"));
System.out.println(master_name.getBytes("utf-8"));
System.out.println(master_name);
rs = dbc.executeQuery();
//System.out.println(rs.next());
//System.out.println("master_name");
if(!rs.next()){
ismaster = false;
}else{
ismaster = true;
}
}catch(Exception e){
System.err.println(e);
}finally{
try{
dbc.close();
}catch(Exception e){
e.printStackTrace();
}
}
return ismaster;
}2.链接建立后就执行dbc.prepareStatement ,程序代码如下:
public void prepareStatement(String sql) throws SQLException {
//System.out.println(sql);
prepstmt = conn.prepareStatement(sql);
}
3.执行赋值函数:dbc.setBytes(1,master_name.getBytes("utf-8"));程序代码如下:
public void setBytes(int index,byte[] value) throws SQLException{
prepstmt.setBytes(index,value);
//System.out.println(value);
}
问题就出在了第三步,sql语句的条件没有赋上值,应该是类型不一致问题,哪位帮我改改撒。