0

SqlCommandを使用してバックエンドのSqlServerDBから情報を抽出するWinFormsC#アプリがあります。ユーザーが名前を入力するとき、DBテーブルを調べて、類似した名前(たとえば、同じ2つの頭文字を持つ)を探します。私は次のSQLコマンドテキストを試してきました:

SELECT Name
FROM tblCases
WHERE Name LIKE SUBSTRING(@Name,1,2);

ここで、@ Nameは、アプリケーションによって生成されたSqlCommandのパラメーターであり、その値はユーザーによって設定されます。

しかし、これは、いくつかの結果を返す必要があることがわかっている場合でも、毎回nilのクエリ結果を返します。

私が達成しようとしているのは、ユーザータイプが「Smith」という名前で、DBに「Smythe」や「Smithson」などの値を返したいのですが、SQLコマンドテキストを正しく取得することができません。

最も感謝するのを手伝ってください。

4

1 に答える 1

1

このようにLIKE句を使ってそれを行うことができます。%渡す名前の最後にワイルドカードを追加します。

SELECT Name
FROM tblCases
WHERE Name LIKE (SUBSTRING(@name,1,2) + '%')
于 2012-07-30T13:58:55.397 に答える