【C# | SQL】System.Data.SqlClient.SqlExceptionエラーの解決方法

Visual Studioのサービスベースのデータベース

Visual Studioには「サービスベースのデータべ―ス」というものがあり、プロジェクトにローカルのデータベースを追加することができるようです。

database C#
データベースファイルを作成してテーブルを追加した後、そのテーブルをプログラミング言語のC#で扱うことによって、データの追加や表示、削除といったことが簡単にできるようです。上記の画像はVisual Studioで作成したプロジェクトで、データベースのデータをlistBoxで表示したものになります。

System.Data.SqlClient.SqlExceptionエラーの原因

小難しいプログラムコードの話は省略しますが、SqlCommandクラスのExecuteReader()メソッドでエラーがでることがあります。

それが、System.Data.SqlClient.SqlExceptionです。そのあとにPRIMARY_KEYが・・・とエラーがでるのですが、原因はずばり、

テーブルの値が重複している。ことによってこのエラーが起きます。

PRIMARY_KEYはテーブルの値の重複を許さない

Visual Studioでデータベースのテーブルを追加した際は必ず プライマリーキー が設定されるようです。これはテーブルの値の重複を許しません。たとえば IDが1010と同じものを追加しようとするとエラーがでてはじかれます。

まとめ

Visual Studioの「サービスベースのデータベース」のテーブルに同じ値を追加しようとするとはじかれる。
エラー内容は → SQL文でテーブルへ値を追加しようとしたとき、同じ値になっていると「System.Data.SqlClient.SqlException」エラーがおきるでした。

またこのエラーはSQL文を間違えていると起こる可能性もあります。詳しくは下記の記事をご覧ください。
【C# | SQL】ExecuteReader()メソッドでエラーが発生する場合の対処方法