我有两门课:
MAIN 和 DBCONNECT
DBCONNECT 拥有所有编码,包括连接、插入和更新数据库/表的方法。
MAIN 是创建我的 GUI 并使用 DBCONNECT 类的地方。
在我的 DBCONNECT 类中,我创建了一个将输入信息写入表的方法。
String sqlInsert1 = "INSERT INTO Drivers (IDNumber, FirstName, LastName) VALUES " + Id +"," + FirstName+"," + Surname;
String sqlInsert2 = "INSERT INTO Offences(IDNumber, SpeedLimit, DriverSpeed, SeatBelt, DrunkenDriving, DriversLicense) VALUES" + Id + SpeedLimit + DriversSpeed + Seatbelt + DrunkenDriving + License;
String sqlInsert3 = "INSERT INTO DriverPoints(IDNumber, Points) VALUES" + Id + Points;
public void writeToDB(String sqlInsert1, String sqlInsert2, String sqlInsert3)
{
try
{
Statement st = conn.createStatement();
st.executeUpdate(sqlInsert1);
st.executeUpdate(sqlInsert2);
st.executeUpdate(sqlInsert3);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Error: Could not read from database");
}
}
在我的 MAIN 类中,我想在单击保存按钮时使用此方法
public void actionPerformed(ActionEvent ae)
{
if (ae.equals(save))
{
database.writeToDB();
}
}
它总是给我一个错误
required:java.language.String,java.language.String,java.language.String
请让我知道我在这里做错了什么。
最佳答案
你需要这样写:
public void actionPerformed(ActionEvent ae)
{
if (ae.equals(save))
{
String sqlInsert1 = "INSERT INTO Drivers (IDNumber, FirstName, LastName) VALUES " + Id +"," + FirstName+"," + Surname;
String sqlInsert2 = "INSERT INTO Offences(IDNumber, SpeedLimit, DriverSpeed, SeatBelt, DrunkenDriving, DriversLicense) VALUES" + Id + SpeedLimit + DriversSpeed + Seatbelt + DrunkenDriving + License;
String sqlInsert3 = "INSERT INTO DriverPoints(IDNumber, Points) VALUES" + Id + Points;
database.writeToDB(sqlInsert1,sqlInsert2,sqlInsert3);
}
这是因为您的方法 writeToDB
接受三个 String
参数,并且在代码中调用它时没有给出任何参数。
并且您在 writeToDb
方法之前创建的字符串变量与在 writeToDB
方法中声明为参数的变量不同。
关于java - 使用另一个类 java.language.String 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13174993/