gpt4 book ai didi

java - java中如何处理sql异常?

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:03 25 4
gpt4 key购买 nike

我正在尝试用 java 创建一个简单的注册表单。我在 sql 中创建了一个表,其中我选择不允许空值,但是当我注册而不输入任何值时,不会给出任何异常..所有空值都被排除..!!我该怎么办?

private void b1ActionPerformed(java.awt.event.ActionEventevt)                          {                                   
try{


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:mydsn1");
PreparedStatement pstmt= con.prepareStatement("insert into project.dbo.signup values(?,?,?,?,?,?)");

pstmt.setString(1,t1.getText());
pstmt.setString(2,t2.getText());
pstmt.setString(3,String.valueOf(t3.getText()));
pstmt.setString(4,t4.getText());
pstmt.setString(5,t5.getText());
pstmt.setString(6,c1.getSelectedItem().toString());

pstmt.executeUpdate();

}

catch(SQLException e)
{
JOptionPane.showMessageDialog(null,e.toString());
}
catch(Exception ob)

{

JOptionPane.showMessageDialog(null,ob.toString());
}

}

最佳答案

Nullempty 不同。如果将列值设置为 not null,则无法插入任何 null 或者必须输入一个值。但这并不意味着您不能输入空字符串..

null 和空字符串的示例

String s = null;
String s = "";

因此,在您的情况下,当您没有在 TextBox 中插入任何输入并使用 getText() 获取值时,它会返回一个不为 null 的空字符串。我希望你理解其中的区别

因此,要获得异常(exception),您可以做一件事。检查输入字符串,如果长度为 0,则不要插入它,或者插入一个空值,例如

String s = t1.getText();
if(s.length() == 0)
pstmt.setString(1, null); // or dont insert

关于java - java中如何处理sql异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17247838/

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