[C#] VS は SQL Server データベースにどのように接続しますか

ツール:
1.Visual Studio (vs2013 を使用)

2.SQLサーバー(私はSQL Server2008を使用しています)

操作:
1. SQL Server を開くと、データベースの初期リンク インターフェイスが表示されます。(下図の通り)

ここに画像の説明を挿入
2. 上の図の「サーバー名」をコピーし、「接続」をクリックしてデータベースに入ります。

3. vs を開いて、使用するプロジェクトを作成します。私が作成したプロジェクトの名前は「RestaurantSystem」です。

4. [ツール] -> [データベースに接続] -> サーバー名に、コピーしたサーバー名を貼り付けます。

5. 以下で接続するデータベースの名前を選択し (手動で入力することもできます。ここでは自分で作成したデータベース RestaurantDBMS に接続しています)、確認します。
ここに画像の説明を挿入
6. 「サーバー エクスプローラー」を開くと、次の情報が表示されます。「テーブル」をクリックすると、データベースに作成されたデータ テーブルが表示されます。

ここに画像の説明を挿入
接続コード:
上記の操作の後、データベースは vs に追加されるだけです。プロジェクト内のデータベースを編集したい場合は、コードを記述する必要があります。

1. 独自のプロジェクトを開き、ソリューション エクスプローラーを開き、プロジェクト名を右クリックしてクラス ファイルを追加します (クラス名は独自のプロジェクトに従って選択されます) 2.
ここに画像の説明を挿入
クラス ファイルを開き、次のコードを記述します。

System を使用する;
System.Collections.Generic を使用する;
System.Linq を使用する;
System.Text を使用する;
System.Threading.Tasks を使用する;
System.Data.SqlClient を使用する;
System.Data を使用する; の;

namespace RestaurantSystem
{ class ResM //これは ResM という名前の私のプロジェクトに書かれています; { private string MySqlCon = //この部分の記入方法を以下で紹介します; public DataTable ExecuteQuery(string sqlStr) //クエリに使用されます; 実際にはそれこれは、パラメータを渡すことができる関数を提供することに相当し、必要なときに SQL ステートメントを作成し、それを文字列に格納し、この関数に渡すと、自動的に実行されます。{ SqlConnection con = new SqlConnection(@MySqlCon); con.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = sqlStr; DataTable dt = new DataTable (); SqlDataAdapter msda; msda = new SqlDataAdapter(cmd); msda.Fill(dt); con.Close(); return dt; } public int ExecuteUpdate(string sqlStr) //追加、削除、変更に使用されます。



















{ SqlConnection con = 新しい SqlConnection(@MySqlCon); con.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandType = コマンドタイプ.テキスト; cmd.CommandText = sqlStr; int iud = 0; iud = cmd.ExecuteNonQuery(); con.Close(); iud を返します。} }











}

3. コード内の MySqlCon を変更する このステップはデータベースに接続するために使用されますが、これは非常に重要です。

「サーバー リソース管理」でデータベースを選択し、「プロパティ」ウィンドウで「接続文字列」を見つけてその内容をコピーし、MySqlCon に割り当てます。たとえば、次のように変更しました。

MySqlCon = "Data Source=DESKTOP-0RC5ORD\SQLEXPRESS;Initial Catalog=RestaurantDBMS;Integrated Security=True";
ここに画像の説明を挿入
これらの操作を完了したら、フォームにコードを記述してデータベースを変更できます。

追加、削除、変更、確認:
追加、削除、変更、確認の実装はすべて SQL 文であり、記述した SQL 文を文字列に代入して実行します。
ここで、追加、削除、変更には上記のExecuteUpdate()関数が使用され、クエリにはExecuteQuery()関数が使用されることに注意してください。次に、私のコードを例として挙げます。

1. クエリ。クエリ結果は表示しません (データ テーブル名は ADMINISTRATE):

String str1 = Account.Text; //フォームにはアカウントのパスワードを入力するためのテキスト ボックスがあり、このステップではその内容を取得します;
String str2 = Password.Text;
String str3 = “select A#,PASS FROM ADMINISTRATE WHERE A#= '” + str1 + "'AND PASS='" + str2 + "'"; //SQL ステートメントを作成すると、読者はこの文を出力できます。実際、結果は標準の SQL ステートメントなので、読者もこれを記述するときにこれが必要です。独自のコード SQL を記述して文字列変数に代入し、それを ExecuteQuery に渡して実行する形式;
ResM r1 = new ResM(); //データベースに接続するために作成したクラスは ResM なので、それを使用してcreate object; DataTable
d1 = new DataTable(); //クエリは結果を返すため、返された結果を受け入れるには DataTable オブジェクトを使用する必要があります。
d1 = r1.ExecuteQuery(str3); //ExecuteQuery() を使用して SQL ステートメントを実行します;
if (d1 != null && d1.Rows.Count > 0) //クエリには結果があります
{ MessageBox.Show("Welcome!" , "ログイン成功", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); Form StoMes = new Storage(); //これらの 3 行のコードはインターフェイスを実現するためのものです Jump; Hide(); StoMes.Show();





}

2. クエリを実行し、クエリ結果を表示します (この手順を実行するには、結果を保存するフォームに dataGridView コントロールを追加する必要があります)

String str1 = textBox1.Text;
String str2 = "P#=' の人の名前、性別を選択" + str1 + "'";
d1 = r1.ExecuteQuery(str2);
if(d1!=null&&d1.Rows.Count> 0)
{ dataGridView1.DataSource = d1; //クエリ結果を dataGridView に配置します。

        }

dataGridView コントロールの表示形式はコードで変更できますし、Baidu を自分で使用することもできるので、ここでは紹介しません。

3. 追加、削除、変更は非常に似ており、データベース基盤があれば自分で作成できます。ここではデータの追加の例を示します。

String str1 = textBox1.Text; //担当者番号;
String str2 = textBox2.Text; //担当者名;
String str3 = textBox3.Text; //担当者の性別;

String str4 = “INSERT INTO PERSON (P#,PNAME,SEX) VALUES('” +str1 + “','” + str2 + “','” + str3 + “')”;

ResM r2 = new ResM();
int d2 = r2.ExecuteUpdate(str4);//実行後の戻り値は int 型で、実行が失敗した場合は 0 を返します; if ( d2 !
= 0)
{ MessageBox.Show( "追加に成功しました!", "結果を追加しました", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("追加に失敗しました! このジョブ番号はすでに存在します!", "結果を追加しました", MessageBoxButtons .OK、MessageBoxIcon.情報); }







おすすめ

転載: blog.csdn.net/qq_41661800/article/details/105373515#comments_26661501