データベースにデータを追加していますが、データが存在するかどうかを確認したい場合は (already exist) のようなメッセージが表示されます


DataTable checktitle = DatabaseLayer.Retrive("select * from CourseTable where Title =" + subjecttitletbox.Text.Trim() + "");

           if (checktitle != null)
           {
               if (checktitle.Rows.Count > 0)
               {

                   MessageBox.Show("Already Exist!");
                   subjecttitletbox.Focus();
                   subjecttitletbox.SelectAll();
                   return;
               }

           }

私が試したこと:

上記のコードを試しましたが、このコードは正しいですが、機能していません
誰かが別の方法を持っている場合は、私を案内してください
言語 C#
ビジュアルスタジオ 2017
ありがとうございました

解決策 1

その選択にいくつかの一重引用符があってはいけませんか?

C#
DataTable checktitle = DatabaseLayer.Retrive("select * from CourseTable where Title ='" + subjecttitletbox.Text.Trim() + "'");

ちなみに、文字列連結を使用すると、SQL インジェクションにさらされます。 パラメータ化されたクエリを使用した場合、この問題はおそらく最初から発生しなかったでしょう。

残念ながら、あなたのことはわかりません Retrive メソッドが行います。 これを書いているのが私なら、パラメーターのリストを Retrieve メソッドを作成し、そのメソッドにパラメーター リストを作成させる



Source link

コメント

タイトルとURLをコピーしました