请帮忙! 我有2个表:信息和消息 信息的列为:
id name location description from
1 abc def ghijg 123
2 xyz wqk fdgbf 234
3 tuv ghn hndBD 345
消息的列为:
id text from created_at
1 HI 123 12345
1 hey 123 12345
2 hello 234 98765
我想在Message中插入新值,并使用相应的Info值id设置id(在Message中)的值。如示例所示,消息中的id 1告诉我们该行对应于Info表的id 1。
我正在编写Java代码以将新值插入Message。
我的表很大,所以我将Info中的id和名称存储到ArrayList中,然后比较ArrayList中的id,并且某些名称值为null。我使用for循环迭代ArrayList,然后将名称值与我从twitter调用并插入Message的另一个名称值进行比较。 代码是:
for(Bank v: bankid){
if(v.getName()== null || v.getName().equals(Name)){
if(v.getName().equals(Name)){
System.out.println(v.getId());
ps.setString(1,v.getId());
}
}
}
将从Info Table中获取的id值与其他值一起插入Message。
我无法插入任何新值。我怎么做? 我正在使用这个声明:
String sql = "INSERT INTO MESSAGE(ID,text,from,craeted_at) VALUES (ID,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
请帮忙! 谢谢!
答案 0 :(得分:0)
首先 -
if(v.getName()== null || v.getName().equals(Name))
此行可以为您提供空指针异常。因此,将支票更改为
if(v.getName()!= null || Name.equals(v.getName()))
然后插入预准备语句Ex。
中的值 ps.setInt(1,23);
ps.setString(2,"Roshan");
ps.setString(3, "CEO");
ps.executeUpdate();