データベースを表示および編集するためのフロント エンドとして C# を使用するのは初めてです。以下のコードを使用して、データベース クエリを起動し、データ グリッド ビューを使用して結果を表示できます。
private void btnconnect_Click(object sender, EventArgs e)
{
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns.Add("Accode", "Accode");
dataGridView1.Columns.Add("CaseNO", "Case NO");
dataGridView1.Columns.Add("Doccumentname", "Document Name");
dataGridView1.Columns.Add("CreatedDate", "Created Date");
string strFile = txtFileName.Text;
string strPass = "********";
OleDbConnection connect = new OleDbConnection();
connect.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFile + ";Jet OLEDB:Database Password=" + strPass + ";";
connect.Open();
if (txtCaseNo.Text != "" && txtAccode.Text != "")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connect;
command.CommandText = "SELECT CorrespondenceHistory.Accode, CorrespondenceHistory.CaseNo,CorrespondenceHistory.DocumentName, CorrespondenceHistory.CreatedDate FROM CorrespondenceHistory WHERE (((CorrespondenceHistory.CaseNo)=" + txtCaseNo.Text + "),((CorrespondenceHistory.Accode)=" + txtAccode.Text + "))";
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Accode"].Value = reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["CaseNO"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Doccumentname"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["CreatedDate"].Value = reader[3].ToString();
}
}
else
MessageBox.Show("Enter a search criteria", "Enter a search criteria");
connect.Close();
}
しかし、データ グリッド ビューで行われた変更に合わせてデータベース テーブルを更新する方法がわかりません。プログラムが複数のコンピューター (すべて同じデータベースとパスワード) で使用されるため、データベースの場所が変更されるため、接続文字列を作成するときにテキスト ボックスから取得します。