2013-03-13 236 views
3

我希望從我的datagridview插入到sql server數據庫的值。我不確定這是否有效,但我不想使用文本框。從datagridview插入數據到數據庫

我的邏輯是使用兩個for循環遍歷datagridview的每個單元格(比如i和j),但我不確定這是否工作。

請幫助..

+0

這是ASP.NET,WPF,Windows窗體或還有什麼? – 2013-03-13 09:18:44

+0

@DavidePiras:C#.NET – user 2013-03-13 09:21:07

+0

檢查以下鏈接 http://stackoverflow.com/questions/10556556/insert-all-data-of-a-datagridview-to-database-at-once 這可能會幫助你。 – SKJ 2013-03-13 09:34:37

回答

0
以某種方式

或另一個,應該是可能的,但你爲什麼要在GridView的數據加載到後端,而不是裝載和消耗你最初用來填充相同的數據並呈現UI控件(DataGridView)?

在這裏看到我的回答:https://stackoverflow.com/a/7939179/559144當你有一個DataTable您使用綁定和顯示數據的DataGridView您可以輕鬆地循環這樣,你就可以使用網格的編輯模式,以捕捉到最終用戶的變化用戶界面並在程序邏輯/後端處理它們並將更改保存到數據庫中。

0

如果您的應用程序窗口的應用程序,並顯示在數據庫中的表的所有字段,你應該使用的DataGridView與SqlDataAdapter。對於例 -

private BindingSource bindingSource = null; 
private SqlDataAdapter sqlDataAdapter = null; 
DataTable dataTable=null; 

private void Form_Load(object sender, EventArgs e) 
{ 
    dataTable = new DataTable(); 
    sqlDataAdapter.Fill(dataTable);//Fill Data To bind Datagridview 
    bindingSource = new BindingSource(); 
    bindingSource.DataSource = dataTable; 
    dataGridViewTrial.DataSource = bindingSource; 
} 

private void btnSave_Click(object sender, EventArgs e) 
{ 
    try 
     { 
      sqlDataAdapter.Update(dataTable); 
     } 
     catch (Exception exceptionObj) 
      { 
      MessageBox.Show(exceptionObj.Message.ToString()); 
      } 
} 

Here見。

+0

嗨,我找到了一個答案....一個簡單的代碼,它將數據從datagridview插入到SQL數據庫。 – user 2013-03-13 12:26:22

0

嗨我找到了一個答案....這是一個簡單的代碼,它將數據從datagridview插入到SQL數據庫中。請注意,您的列名在此處已預定義。

private void button1_Click(object sender, EventArgs e) 
    { 
     string str = System.Environment.MachineName; 
     SqlConnection sconn = new SqlConnection("Data Source='" + str + "';Initial Catalog=main;Integrated Security=True"); 
     sconn.Open(); 
     DataSet ds = new DataSet(); 
     for(int i=0; i< dataGridView1.Rows.Count;i++) 
      { 
       SqlDataAdapter da = new SqlDataAdapter("insert into demo values('" + dataGridView1.Rows[i].Cells[0].Value + "','" + dataGridView1.Rows[i].Cells[1].Value + "','" + dataGridView1.Rows[i].Cells[2].Value + "')",sconn); 
        da.Fill(ds, "main"); 




     conn.Close(); 

}