3

我正在开发一个迷你应用程序,我必须检索 USER_ID 并将其保存在表中。

它是这样工作的;我输入用户的电子邮件地址,然后语句必须检索 USER_ID 并将其保存到表中。

我的 SQL Like 语句有问题。只是我只需要插入电子邮件地址的第一部分。例如,“thomas@yahoo.com”。我只插入“托马斯”;不是剩余部分。

以下是我在 Java 控制台中收到的语句示例和结果消息:

代码:

String ea = txt_email.getText();
String lid = "SELECT USER_ID FROM user WHERE email_address Like  '"+ea+"%' ";

错误信息:

错误:java.sql.SQLException:[Microsoft][ODBC Microsoft Access Driver] 查询表达式“SELECT USER_ID FROM user WHERE email_address Like 'thomas%'''中的语法错误(缺少运算符)。

4

2 回答 2

3

尝试使用*而不是%. MS ACCESS 使用*而不是%forLIKE语句。

希望这可以帮助

于 2012-11-05T05:54:08.833 回答
0

使用PreparedStatement

PreparedStatement _query = con.prepareStatement(
        "SELECT USER_ID FROM user WHERE email_address Like ?");
_query.setString(1, ea + "*");  // <== use *
_query.executeQuery();

con您的活动连接对象在哪里。

使用的一个优点PreparedStatement是防止SQL Injection

于 2012-11-05T05:53:15.980 回答