Forms 使用JDBC通过方法将数据插入MySQL数据库

Forms 使用JDBC通过方法将数据插入MySQL数据库,forms,servlets,jdbc,Forms,Servlets,Jdbc,我有一个表单,我想把数据发送到数据库。如何通过方法参数传递请求数据并将其发送到数据库 int status = InsertCustomer(fName, mName, lName , iage, issn, city, state, country); //方法 //此方法应返回executeUpdate//方法返回的int。注意:驱动程序名和URL//在init()方法中已经可用 我有点不知所措,非常感谢您的帮助。您可以使用一个简单的语句(即未准备好的语句),并且不能传递任何参数: Str

我有一个表单,我想把数据发送到数据库。如何通过方法参数传递请求数据并将其发送到数据库

int status = InsertCustomer(fName, mName, lName , iage, issn, city, state, country);
//方法 //此方法应返回executeUpdate//方法返回的int。注意:驱动程序名和URL//在init()方法中已经可用

我有点不知所措,非常感谢您的帮助。

您可以使用一个简单的语句(即未准备好的语句),并且不能传递任何参数:

String sql = "insert into sometable (a, b, c) values (7, 8, 9)";
Statement st = conn.createStatement();
return st.executeUpdate(sql);
或者(在您的情况下,这就是您应该做的),使用准备好的statament并传递参数:

String sql = "insert into sometable (a, b, c) values (?, ?, ?)";
PreparedStatement st = conn.prepareStatement(sql);
st.setInt(1, 7);
st.setInt(2, 8);
st.setInt(3, 9);
return st.executeUpdate();
在代码中,您使用了一个简单的语句并尝试执行一个需要参数的SQL查询。那是不可能的。你需要一份事先准备好的声明


更多信息请参见。

谢谢,让我尝试一下。问题:a、b、c数据库列是吗?请注意:请遵守Java命名约定:方法以小写字母开头;变量的前缀不是m、f、l、i或任何其他字母。是的,a、b和c是示例中表格sometable的列。
String sql = "insert into sometable (a, b, c) values (?, ?, ?)";
PreparedStatement st = conn.prepareStatement(sql);
st.setInt(1, 7);
st.setInt(2, 8);
st.setInt(3, 9);
return st.executeUpdate();