我想通过以下方式从名为 PersonnelTable
的表中删除:
public void verifyDetailsBeforeClosingAccount(String _idNumber,String _username,String _password ,String _account)
{
String retrievedNumberAccount = null;
String retrievedOwnerIdnumber = null;
try
{
// take all the rows with "account-number" and "id-numbder" in the "Checking-account-table"
ResultSet results = this.m_statement.executeQuery("SELECT `AccountNumber`, `IdNumber` FROM `CheckingAccountsTable`");
while (results.next() == true)
{
retrievedNumberAccount = results.getString("AccountNumber"); // take the account number
retrievedOwnerIdnumber = results.getString("IdNumber"); // take the ID number
if (retrievedNumberAccount.equals(_account) == true && retrievedOwnerIdnumber.equals(_idNumber) == true ) // found a partial match
{
// put something here
}
}
}
}
我想删除 PersonnelTable
中的一行,其中:
-
表中的
Password
列等于提供给函数的_password
,
表中的 UserName
列等于提供给函数的 _username
。
那行不通:
this.m_statement.executeQuery("DELETE FROM `PersonnelTable` WHERE `Password` = _password AND `UserName` =_username ");
我看过 DELETE
的教程,但没有任何内容说明如何将给定值处理为函数。我怎样才能解决这个问题 ?
问候
最佳答案
用单引号将值括起来,因为它是一个字符串。对吧?
this.m_statement.executeQuery("DELETE FROM `PersonnelTable`
WHERE `Password` = '" + _password + "' AND
`UserName` = '" + _username + "' ");
好多了 Java Prepared Statement 为此。
前
string sqlStatement = "DELETE FROM `PersonnelTable`
WHERE `Password` = ? AND
`UserName` = ? ";
PreparedStatement pstmt = con.prepareStatement(sqlStatement);
pstmt.setString(1, _password)
pstmt.setString(2, _username)
pstmt.executeUpdate();
关于java - 如何从 Java 将参数化的 DELETE 发送到 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11867491/