我要做一开单的工作..
 dataGridView1里面的数据是通过界面输入保存到对象里面然后调用对象得来的.. 我现在要做的是把数据插入到数据库里面..
 同时还要插入的有单据编号. 时间... 等..单据编号没有存到dataGridView1里面的.

解决方案 »

  1.   

    dataGridView1 有datakeyfield属性,把单据编号设上去,即可.保存时,通过e.item.findcontrol("ctlid")来取对应的控件的值,保存应该会吧. protected void grid1_UpdateCommand(object source, DataGridCommandEventArgs e)
        {
            string id = this.grid1.DataKeys[e.Item.ItemIndex].ToString();
          
            string usercode = ((TextBox)e.Item.Cells[0].Controls[1]).Text;
            string username = ((TextBox)e.Item.Cells[1].Controls[1]).Text;
            string tel = ((TextBox)e.Item.Cells[2].Controls[1]).Text;
            Response.Write(id);        SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "server=.\\sql2005;uid=sa;pwd=123;database=test";
            cn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "update userinfos set usercode='" + usercode + "',uname='"+username+"',tel='"+tel+"' where userid=" + id;        cmd.Connection = cn;
            cmd.ExecuteNonQuery();
            cn.Close();
            cn.Dispose();
            this.grid1.EditItemIndex = -1;
            FillData();
        }
      

  2.   

    gridview用于展现dataset的部分字段,数据存储都dataset中,
    保存时把dataset提交到服务器端进行处理即可。
      

  3.   

    最简单的一个方法,循环读取datagirdview里面的数据,一条一条插入,想怎么存数据库就怎么存
      

  4.   

    循环取grid里的数据,然后传参或拼插入语句啊。
    for(int i;i<grid.Rows.Count;i++)
    {
         string a1=this.grid.row[i][0].ToString();
         ……
          插入操作!
    }
      

  5.   

    一楼dataGridView里面没有datakeyfield这个属性啊..
      
      

  6.   

    三楼dataGridView 里面没有row 这个属性..取不到值啊.
      

  7.   

    string strID=string.Empty; 
    string strName=string.Empty; 
    string strTitle=string.Empty; 
     for (int i = 0; i < dataGridView1.RowCount - 1; i++)
     {
      strID = dataGridView1[0, i].Value.ToString();
      strName = dataGridView1[2, i].Value.ToString();
      strTitle= dataGridView1[5, i].Value.ToString();
          //插入数据库操作                           
       }
      

  8.   

     
     //批量更新与DataTable对应的数据表中的数据
            public bool updateDatatable(DataTable table,string  sql)
            {
                bool b = false;          
                try
                {
                     DataTable newtable = new DataTable();
                   // for(int i=0;i< table.Rows.Count;i++)
                  //  {
                     //   newtable.ImportRow(table.Rows[i]);
                  //  }
                    conn.Open();
                    SQLiteDataAdapter sdr = new SQLiteDataAdapter(sql, conn);
                    SQLiteCommandBuilder builder = new SQLiteCommandBuilder(sdr);
                   sdr.Update(table);
                   
                    b = true;
                   // table.AcceptChanges();
                    return b;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                   
                   conn.Close();            }
            }