在Text数据类型中使用preparedstatement

时间:2014-06-19 09:03:08

标签: java jsp servlets prepared-statement

在PreparedStatement中我需要使用哪个方法执行类

我写了一个类似

的方法
public Text getMessage(){
    return message;
}

在我班上

 PreparedStatement ps;
        ps=con.prepareStatement("insert into tblmessage  
 (message) values(?)");
        ps.setString(2, usermsgmodel.getMessage());
        ps.executeUpdate();

我在这行中有一个错误,说“方法getMessage返回类型是Text,所以你setString属性不能容纳Text值”

  ps.setString(1, usermsgmodel.getMessage());

3 个答案:

答案 0 :(得分:0)

请尝试以下操作:

public Text getMessage(){
    return "Hello"; // or whatever you want to return
}

班级:

 PreparedStatement ps;
 ps=con.prepareStatement("insert into tblmessage (message) values(?)");
 ps.setString(1, usermsgmodel.getMessage());
 ps.executeUpdate();

您只在表格中插入1列数据,因此您必须在1

中使用2而不是ps.setString(1,usermsgmodel.getMessage());

还有一个问题是你在哪里设置信息?我不理解return message行,因此我使用了Hello

答案 1 :(得分:0)

使用它,它工作正常。

try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/hossain?useUnicode=true&characterEncoding=UTF8;","root","root");
            PreparedStatement ps=con.prepareStatement("select * from UserTable where name=? and password=?");
            ps.setString(1,username);
            ps.setString(2,userpass);
            ps.executeQuery();

        }catch(Exception e){e.printStackTrace();}

答案 2 :(得分:0)

将其设为

ps.setString(1, usermsgmodel.getMessage());