在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());
答案 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());