|
こんにちは、 早々、ロックさん御解答ありがとうございます。
>Accessと聞くと↓コレを思い出してしまうので、一応確認して見て下さい。 >http://www.ailight.jp/blog/unaap/archive/2005/12/07/10249.aspx
ですが、確かに更新されていました。 ですが・・・また、問題がでてきまして textboxを用意し
//textBoxにアクセスする //社員ID textBox1 ⇒ str01へ格納します。 //社員名 textBox2 ⇒ str02へ格納します。 //社員部署名 textBox3 ⇒ str03へ格納します。 //権限 comboBox1 ⇒ str04へ格納します。
string str01 = this.textBox1.Text; string str02 = this.textBox2.Text; string str03 = this.textBox3.Text; string str04 = this.comboBox1.Text;
//社員IDの未入力時の処理を行います。 if (str01 == "") { //employee_masterDataGridViewの上のデータの変更を更新します。 this.Validate(); this.employee_masterBindingSource.EndEdit(); this.employee_masterTableAdapter.Update(this.dB_FileDataSet.employee_master); //OleDA.Update(dtSet); }
else { string SQL_ID = "SELECT 社員ID FROM employee_master WHERE 社員ID = " + str01; string SQL_id = dt.GetSelectData(SQL_ID);
if (SQL_id == "") { MessageBox.Show("NoDate ID"); } else { if (str02 == "") { if (str03 == "") { if (str04 == "") { //employee_masterDataGridViewの上のデータの変更を更新します。 this.Validate(); this.employee_masterBindingSource.EndEdit(); this.employee_masterTableAdapter.Update(this.dB_FileDataSet.employee_master); //OleDA.Update(dtSet); } else { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master SET 権限 = '" + str04 + "' WHERE 社員ID = " + str01; string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01); } } else { if (str04 == "") { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master SET 社員部署名 = '" + str03 + "' WHERE 社員ID = " + str01; string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01);
} else { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master" + " SET 社員部署名 = '" + str03 + "', 権限 = '" + str04 + "' WHERE 社員ID = " + str01;
string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01); } } }
else { if (str03 == "") { if (str04 == "") { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master SET 社員名 = '" + str02 + "' WHERE 社員ID = " + str01; string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01);
}
else { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master SET 社員名 = '" + str02 + "', 権限 = '" + str04 + "' WHERE 社員ID = " + str01; string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01);
} } else { if (str04 == "") { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master SET 社員名 = '" + str02 + "', 社員部署名 = '" + str03 + "' WHERE 社員ID = " + str01; string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01);
} else { //テーブルからデータの更新を行う string skfDL_em_01 = "UPDATE employee_master" + " SET 社員名 = '" + str02 + "', 社員部署名 = '" + str03 + "', 権限 = '" + str04 + "' WHERE 社員ID = " + str01;
string skIDDL_em_01 = dt.GetSelectData(skfDL_em_01); } } } } } //テーブルの中身を見に来ます。 DataSet ds = dt.GetDataSet("SELECT * FROM employee_master ORDER BY 社員ID ASC");
//dataGridView1を初期化します。 employee_masterDataGridView.DataSource = ds.Tables[0]; //dataGridView1をリフレッシュします。 employee_masterDataGridView.Refresh(); } の上記のプログラムを実行した場合、下記の処理を行うときに ----------------------------------------------------------------------------------- //テーブルの中身を見に来ます。 DataSet ds = dt.GetDataSet("SELECT * FROM employee_master ORDER BY 社員ID ASC"); //dataGridView1を初期化します。 employee_masterDataGridView.DataSource = ds.Tables[0]; //dataGridView1をリフレッシュします。 employee_masterDataGridView.Refresh(); ----------------------------------------------------------------------------------- 表現が正しくないかも知れませんが、 初期のデータベースの状態になり SELECT文で追加されたデータのみ更新されてしまうような状況です。
また、mdbの常にコピー・新しい場合はコピーするについてですが・・・ プロパティを変更するたびに更新データが消えてるような気がします。
何か対策はないのでしょうか?
|