2013-07-15 62 views
0

我是使用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(); 
     } 

但我不確定如何讓它更新數據庫表,以在數據網格視圖中所做的任何更改。由於該程序將在多臺計算機上使用(全部使用相同的數據庫和密碼),因此數據庫的位置發生更改,因此它在創建連接字符串時從文本框中取出。

回答

0

我不確定您是否需要桌面或基於Web的應用程序。如果您選擇基於Web的應用程序,則可以指定InsertCommand,UpdateCommand,SelectCommand等來執行操作。詳情請參閱http://imar.spaanjaars.com/416/building-layered-web-applications-with-microsoft-aspnet-20-part-1

+0

它只是一個桌面應用程序,可以打開一個查詢被更改和更新,因爲這是一個大型數據庫,許多人需要編輯該部分,沒有密碼,並且不能給予它。因此,通過這個前端,它將使我們能夠編輯它,而不必讓我們訪問其他任何東西。 – user2583799

+0

我不知道如何使用標準的Windows窗體數據網格視圖來做到這一點;但是,我知道如果您使用Infragistics UI控件,則可以在網格中進行編輯:http://blogs.infragistics.com/winforms/codesamples/archives/79097.aspx – Roger

相關問題