有人可以给下面的答案吗?SQL查询参数
Statement statement;
string sql;
sql = "SELECT gender FROM people WHERE gender = 'M' ";
results = statement.executeQuery(sql);
在我的字符串SQL查询中表示'M'需要做什么样的格式化?
注:性别是'M'或'F',我想返回所有性别为'M'的行。
有人可以给下面的答案吗?SQL查询参数
Statement statement;
string sql;
sql = "SELECT gender FROM people WHERE gender = 'M' ";
results = statement.executeQuery(sql);
在我的字符串SQL查询中表示'M'需要做什么样的格式化?
注:性别是'M'或'F',我想返回所有性别为'M'的行。
'M'
是指定VARCHAR
列值的正确方法,如果您手动编写查询。
但更好的办法通常是使用准备好的语句:
stmt = connect.prepareStatement("SELECT gender FROM people WHERE gender = ?");
stmt.setString(1, "M");
这种方法的好处是,JDBC将自动转换参数你,正确逃吧,等
对于例如,在您尝试将D'Angelo
(普通意大利语名称)添加到数据库后,您的代码将变得更加复杂。
你是什么意思。什么是性别的数据类型? – 2012-07-06 10:22:58
我在解决你的意思时遇到了麻烦......关心这个问题有点不同吗? – Charleh 2012-07-06 10:23:55
您发布的SQL是正确的;你会得到什么错误? – 2012-07-06 10:35:51