0

有人可以回答以下问题吗?

Statement statement;

string sql;

sql = "SELECT gender FROM people WHERE gender = 'M' ";

results = statement.executeQuery(sql);

在我的字符串 SQL 查询中,我必须做什么样的格式来表示“M”?

注意:性别是“M”或“F”,我想返回所有性别为“M”的行。

4

1 回答 1

1

'M'VARCHAR如果您手动编写查询,这是为列指定值的正确方法。

但更好的方法通常是使用准备好的语句:

stmt = connect.prepareStatement("SELECT gender FROM people WHERE gender = ?");
stmt.setString( 1, "M" );

这种方法的优点是 JDBC 会自动为您转换参数、正确转义等。

例如,在您尝试将D'Angelo(常见的意大利名称)添加到您的数据库后,您的代码对于人名将变得更加复杂。

于 2012-07-06T11:37:37.603 回答