2012-06-07 164 views
0

我正在創建一個C#程序,我可以從系統添加數據並保存到數據庫。我正在使用SQL Server 2008 R2。我有一個數據網格視圖,它有2個表格,名稱和地址。我想要做的是在我點擊保存按鈕後,將所需的信息保存在數據庫中之後輸入。如何將數據從datagridview保存到SQL Server 2008 R2

這是我的數據網格視圖的屏幕截圖:

enter image description here

我從一個文本框將數據保存到我的數據庫代碼。但我使用了這個文本框,並且我不知道如何使用數據網格視圖而不是文本框來執行相同的過程(將數據保存到數據庫中)。請幫忙。謝謝。

這是我從一個文本框將數據保存到我的數據庫使用的代碼:

string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
try 
{ 
    using (SqlConnection connect = new SqlConnection(connectionString)) 
    { 
     SqlCommand command = new SqlCommand(); 
     command.Connection = connect; 
     command.CommandText = "insert into customer(name, address) values(@name, @address)"; 
     command.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar)); 
     command.Parameters.Add(new SqlParameter("@address", SqlDbType.VarChar)); 
     command.Parameters["@name"].Value = name.Text.ToLower(); 
     command.Parameters["@address"].Value = address.Text.ToLower(); 
     connect.Open(); 
    } 
} 
+1

您建立連接,你的命令,你打開你的連接 - 但你從來沒有** **執行該命令! –

回答

2

您需要遍歷DataGridView.Rows集合(我假設的DataGridView是無限的)。

using (SqlConnection connect = new SqlConnection(connectionString)) 
    { 
      using(SqlCommand command = new SqlCommand()) 
     { 
        command.Connection = connect; 
        command.CommandText = "insert into customer(name, address) values(@name, @address)"; 

        command.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar)); 
        command.Parameters.Add(new SqlParameter("@address", SqlDbType.VarChar)); 
     connect.Open(); 
     foreach (DataGridViewRow row in dataGridView1.Rows) 
     { 
      if(!row.IsNewRow) 
      { 
      command.Parameters["@name"].Value = row.Cells[0].Value; 
         command.Parameters["@address"].Value = row.Cells[1].Value; 
      command.ExecuteNonQuery(); 
      } 
     } 
     } 
    } 
+0

謝謝你的回答。它爲我工作。非常感謝。 – sean

+0

,但是這又一次輸入了所有的數據。因此,你會看到重複的行 –

0

GridView綁定到DataSource上嗎?

如果是這樣,你可以使用'updatecommand'或'insertcommand'來定義一個SQL查詢字符串,當gridview識別這些操作時應該照顧你。

這裏有使用gridview的MSDN頁面上的「更新命令」體面的例子:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowupdated

而且,看看在SqlDataSource的插入方法,看看有什麼事件被踢大約它可以綁東西到:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.insert

相關問題