gpt4 book ai didi

java - 我收到一条错误,指出 "address"列不能为空

转载 作者:行者123 更新时间:2023-11-30 01:37:17 27 4
gpt4 key购买 nike

我正在尝试运行查询,但每当运行时都会收到一条错误消息,指出“列地址不能为空”。

这是我的代码。

package com.rajesh.action;
import java.sql.*;
public class AccountDao {


public static int save(Actionraju r){
int status =0;
Connection con=GetCon.getCon();
PreparedStatement ps;
try {
ps = con.prepareStatement("Insert into account (accountno, username, password, repassword, amount, address, phone) values (?,?,?,?,?,?,?)");

ps.setInt(1,r.getAccountno());
ps.setString(2,r.getUsername());
ps.setString(3,r.getPassword());
ps.setString(4,r.getRepassword());
ps.setDouble(5,r.getAmount());
ps.setString(6,r.getAddress1());
ps.setDouble(7,r.getPhone());
status=ps.executeUpdate();
}
catch(Exception e){
e.printStackTrace();}
return status;

}

}

我的 Actionraju.java 看起来像这样。

package com.rajesh.action;
public class Actionraju {
private int accountno;

private String username;
private String password;
private String repassword;
private Double amount;
private String address;
private Double phone;



public int getAccountno() {
return accountno;
}


public void setAccountno(int accountno) {
this.accountno = accountno;
}


public Double getAmount() {
return amount;
}


public void setAmount(Double amount) {
this.amount = amount;
}


public Double getPhone() {
return phone;
}


public void setPhone(Double phone) {
this.phone = phone;
}


public String getUsername() {
return username;
}


public void setUsername(String username) {
this.username = username;
}


public String getPassword() {
return password;
}


public void setPassword(String password) {
this.password = password;
}


public String getRepassword() {
return repassword;
}


public void setRepassword(String repassword) {
this.repassword = repassword;
}




public String getAddress() {
return address;
}


public void setAddress(String address) {
this.address = address;
}


public String execute(){

int i = AccountDao.save(this);
if(i>0){
return "success";
}
return "error";

}

}

在我的mysql数据库中,我有7列,即“accountno”,“username”,“password”,repassword”,“amount”,“address”,“phone”。对于所有这7列,我检查了“not null” ”框,这里我的“accountno”是主键。

请任何人帮助我解决这个问题。我是新手。

最佳答案

我们没有足够的信息来确保我们能够为您提供帮助。但您可以执行以下一些操作来进行调试。做一个System.out.println(r.getAddress1()) 。如果它打印 null,那就是你的问题。您创建表的方式表明地址不能为空,但您在代码中传递了空值。要么减少表的限制,要么确保传入一个值。

此外,更改您的插入 SQL,使其显示如下内容:Insert into account (accountno, username, ...) values(?,?,?,?,?,?,?)这样,您就知道您正在为地址字段设置正确的列。也许您认为 6 表示地址字段,但它实际上使用 2 作为地址字段。如果您编写的 sql 包含列名称,则可以确定您正在执行您想要执行的操作。

关于java - 我收到一条错误,指出 "address"列不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706552/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com