他の人がすでに指摘しているように
select * from student where Nama_Depan like '%" & nama.Text & "%'
ワイルドカードを使用する正しい方法です
SQLワイルドカードに関するW3Schoolsチュートリアルへのリンクは次のとおりです。http ://www.w3schools.com/sql/sql_wildcards.asp
簡単に読んでおくことをお勧めします。通常、W3schoolsの記事は非常に優れています。
ただし、これはコードからSQLコマンドを実行するための非常に悪い方法です。誰かがSQLコードをテキストボックスに簡単に挿入し、クエリを実行するとデータベースが破壊される可能性があります。
たとえば、誰かが'; DROP TABLE * --
テキストボックスに入力した場合、これにより最初のクエリを実行できるようになり、次にすべてのテーブルが削除されます。
パラメータ化されたクエリまたはストアドプロシージャを使用することで、これを回避するのは非常に簡単です。個人的には、Stored Proceduredを使用することをお勧めします。これは、このように行うことができます。
CREATE PROCEDURE MyProc
(
@param1 VARCHAR(50)
)
AS
BEGIN
select * from student where Nama_Depan like '%"'+@param1+'%'
END
次に、SQLコマンドを実行するのではなく、VBコードを編集してストアドプロシージャを呼び出す必要があります。
ストアドプロシージャを使用するもう1つの利点は、パフォーマンスがわずかに速く、効率が高いことです。これは、SQLをデータベースに渡すときに、SQLコマンドにコンパイルして実行する必要があるため、ストアドプロシージャはすでにデータベースに格納されているためです。したがって、これを行う必要はありません。
SQLステートメントを送信するだけでなく、ストアドプロシージャを使用することには、セキュリティ上の利点もいくつかあります。ネットワークやインターネットを経由する途中でSQLステートメントを傍受した場合、データベース構造についての洞察を得ることができます。ストアドプロシージャを使用すると、インターセプトできる可能性があるのは、プロシージャ名といくつかのパラメータだけです。