2

ユーザー情報テーブルを含むデータベースを検索する必要があります。次のようなクエリで検索して結果を得ることができます

String query;
StringBuilder sb=new StringBuilder(1024);
sb.append("select * from userinfo where uname=").append(key);
query=sb.toString();

しかし、私がする必要があるのはです。

  • キーがabc
  • 次に、値を持つデータベース内のすべてのデータを検索する必要がありますabc
  • 例えば
  • 私のデータベースには、、、、、のデータが含まれabcていますabagjabcabcxyzhjjabcxyz
  • 次に、値、、、を取得する必要がabcありますgjabcabcxyzhjjabcxyz
  • 上記のすべての値abcに共通が含まれているためです。

どうすればこれを達成できますか?

4

2 に答える 2

7

純粋なSQLを使用している場合は、「%」で囲まれたように使用する必要があります。クエリは、una​​meに「abc」が含まれているすべての行を返します。クエリは次のようになります。

select * from userinfo where uname like '%key%'
于 2013-03-01T13:37:37.527 に答える
2

正しい実装では、PreparedStatementを使用します。

PreparedStatement ps = conn.prepareStatement("select * from userinfo where uname like ?");
ps.setString(1, key);
ResultSet rs = ps.executeQuery();

もちろん、これはすべてのエラーチェックと配管コードを見逃します:)

于 2013-03-01T13:46:02.057 に答える