数据截断:截断不正确的DOUBLE值

时间:2015-05-25 16:51:04

标签: java mysql

// my button
public void actionPerformed(ActionEvent arg0) {               
  String sorgu="UPDATE calisan SET CalisanAdi=? AND CalisanSoyadi=? AND kul_adi=? AND sifre=? WHERE idcalisan=? ";
  DBConnection.KullaniciGuncelle(calisan_ad.getText(), calisan_soyad.getText(),calisan_kul_adi.getText(), calisan_sifre.getText(), sorgu);
}

怎么了?如果我添加列显示问题

  

参数索引超出范围(1>参数个数,为0)

public static void KullaniciGuncelle(String ad, String soyad, String kadi, String sifre,String sorgu){

connection();

try
{
    Connection connect = DriverManager.getConnection(host, username , pass);
    PreparedStatement statement = (PreparedStatement) connect.prepareStatement(sorgu);

    statement.setString(1, ad);
    statement.setString(2, soyad);
    statement.setString(3, kadi);
    statement.setString(4, sifre);

    statement.executeUpdate();
    statement.close();
    connect.close();   
}
catch(SQLException e)
{
    e.printStackTrace();  
}

1 个答案:

答案 0 :(得分:0)

您只在更新方法中绑定了四个参数。但是您的查询字符串包含五个。此外,您在查询中滥用AND

查询应为此,删除额外的AND项。

UPDATE calisan 
   SET CalisanAdi=?, CalisanSoyadi=?,
       kul_adi=?, sifre=?
WHERE idcalisan=? ";

您的更新方法需要额外参数绑定第五个?。我想idcalisan是一个ID(尽管我对土耳其人一无所知,抱歉)所以我建议setInt()

    statement.setString(1, ad);
    statement.setString(2, soyad);
    statement.setString(3, kadi);
    statement.setString(4, sifre);
    statement.setInt   (5, idcalisan)