$aaa=$account.$passwd;
$md=md5($aaa);
$cc="0x";
$md52=$cc.$md;
$query = "exec adduser '$account',$md52,'$ask','$answer','1','$idnum','$email','1','1','1','1','1','1','1',200811,'2',$md52";
mssql_query($query) or die("无法执行SQL:$query");
echo "注册成功";上边这段执行存储过程的PHP代码我想用java来实现,不知道怎么样才能实现和上彼岸PHP代码同样的效果
MD5 md5 = new MD5();
CallableStatement cstmt = null;
String password = null;
password = "0x" + md5.getMD5ofStr(name + passwd);
cstmt = conn.prepareCall("{call adduser(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
cstmt.setString(1, name);
cstmt.setString(2, password);//这里不知道改怎么写,
cstmt.setString(3, "1");
cstmt.setString(4, "1");
cstmt.setString(5, "1");
cstmt.setString(6, "1");
cstmt.setString(7, "1");
cstmt.setString(8, "1");
cstmt.setString(9, "1");
cstmt.setString(10, "1");
cstmt.setString(11, "1");
cstmt.setString(12, "1");
cstmt.setString(13, "1");
cstmt.setString(14, "1");
cstmt.setString(15, "200811");
cstmt.setString(16, "1");
cstmt.setString(17, password);
cstmt.execute();
cstmt.close();

解决方案 »

  1.   

    cstmt.setString(2,   password);//这里不知道改怎么写, 这个字段是mssql的Binary类型的。
      

  2.   

    不知道这个行不行:
    cstmt.setBytes(2,       password.getBytes());
      

  3.   

    这个方法编译是成功了,但是和上边php实现的结果不一样,
      

  4.   

    但是和上边php实现的结果不一样,朋友说话很含蓄,每次都是让大家猜。这样问我们帮不了你的!
    到底怎么不一样了?就像下面的
     这个字段是mssql的Binary类型的你不说,我们能猜出来???
      

  5.   

    不好意思我表达 不太清楚,我最后用另一个方法实现了
    stat.executeUpdate("exec add '"+ name+ "',"+ password);