フォームのファイルの1つに一般名(別のテーブルに保持されている単語のリスト)が含まれていてはならず、そのファイルの値をパラメーターとして渡して、含まれていないことを確認したいという点で、1つのSQLクエリを作成したいと思います。そのテーブルの一般名。
SQLクエリを使用してそれを達成するにはどうすればよいですか?
注:一般名が「abc」で、パラメーターが「!abc123」として渡されている場合、その単語クエリにはfalseが返されるはずです。
前もって感謝します。
フォームのファイルの1つに一般名(別のテーブルに保持されている単語のリスト)が含まれていてはならず、そのファイルの値をパラメーターとして渡して、含まれていないことを確認したいという点で、1つのSQLクエリを作成したいと思います。そのテーブルの一般名。
SQLクエリを使用してそれを達成するにはどうすればよいですか?
注:一般名が「abc」で、パラメーターが「!abc123」として渡されている場合、その単語クエリにはfalseが返されるはずです。
前もって感謝します。
(未テストのクエリ)のようなものを試してください:
SELECT CommonName
FROM CommonNamesTable
WHERE CommonName like '%NameToTest%'
OR CONTAINS(NameToTest, CommonName);
基本的に、文字列一致オプションが必要です。
CONTAINSのオプションを見て、全文検索によるクエリについて読んでください。
これはあなたが探しているものですか?
SELECT (COUNT(*) == 0) FROM tablewithcommonwords
WHERE wordfromform LIKE CONCAT('%', wordcolumnnfromcommonwordstable, '%');
これを試して:
IF NOT EXISTS(SELECT word FROM CommonWord WHERE @yourparam
LIKE '%' + word + '%')
BEGIN
RETURN 1
END
ELSE
BEGIN
Return 0
END
これは、@yourParam
が使用したくない単語や名前に含まれている場合に機能します。テーブルのどの行にも含まれていない場合にのみ1を返します。
本当の部分で機能を拡張したいので、私はこの方法でのみこの文を書きました(NOT Existsの代わりに単純なExistsを使用できます)。
if exists (select * from reservedwords where @parameter like '%'+word + '%')
select 0
else
select 1
テキストボックスでkeypressEventを使用し、各文字がテキストボックスに入力された後にコードを処理する必要があることをお勧めします。