for (int i = 0; i < this.DataGridView1.Rows.Count - 1; i++) { DataGridView1.Rows[i].Cells[0].Value... DataGridView1.Rows[i].Cells[1].Value... ... }这样
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;namespace SqlDataAdapterTest { public partial class Form1 : Form { SqlDataAdapter da; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { SqlCommandBuilder cb = new SqlCommandBuilder(da); DataTable dt = this.dataGridView1.DataSource as DataTable; if (dt != null) { da.Update(dt); dt.AcceptChanges(); //BindData(); } } private void Form1_Load(object sender, EventArgs e) { BindData(); } void BindData() { SqlConnection conn = new SqlConnection("Server=.;Integrated Security=True;Database=Northwind"); da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand("select * from Employees", conn); DataTable dt = new DataTable(); da.Fill(dt); this.dataGridView1.DataSource = dt; } } } 要这个demo完整代码用站内信密我.
把数据源增加的记录保存入库即可
{
string strconn = "host=localhost;database=test;user id=root;password=";
conn = new MySqlConnection();
conn.ConnectionString = strconn;
conn.Open();
this.adapter = new MySqlDataAdapter(strSql, conn);
System.Data.DataTable dtSelect = new System.Data.DataTable();
int rnt=this.adapter.Fill(dtSelect);
conn.Close();
return dtSelect;
}2. //设定DataGridView的样式 private void setDgStyle()
{
this.dgselect.Columns.Clear(); DataGridViewCheckBoxColumn colDel = new DataGridViewCheckBoxColumn();
colDel.DataPropertyName = "Del";
colDel.Name = "Del";
colDel.Selected = false;
colDel.FalseValue = "0";
colDel.TrueValue = "1";
colDel.Width = 40;
colDel.SortMode = DataGridViewColumnSortMode.NotSortable;
colDel.HeaderText = "删除";
colDel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colDel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dgselect.Columns.Insert(0, colDel); DataGridViewTextBoxColumn colID = new DataGridViewTextBoxColumn();
colID.DataPropertyName = "ProductsSpecID";
colID.Name = "ProductsSpecID";
colID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colID.HeaderText = "产品规格ID";
colID.Width = 160;
this.dgselect.Columns.Insert(1, colID); DataGridViewTextBoxColumn colNM = new DataGridViewTextBoxColumn();
colNM.DataPropertyName = "ProductsSpec";
colNM.Name = "ProductsSpec";
colNM.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colNM.HeaderText = "产品规格名称";
colNM.Width = 160;
this.dgselect.Columns.Insert(2, colNM); DataGridViewTextBoxColumn colUnit = new DataGridViewTextBoxColumn();
colUnit.DataPropertyName = "ProductsSpecUnit";
colUnit.Name = "ProductsSpecUnit";
colUnit.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colUnit.HeaderText = "产品规格单位";
colUnit.Width = 180;
this.dgselect.Columns.Insert(3, colUnit); DataGridViewTextBoxColumn colPID = new DataGridViewTextBoxColumn();
colPID.DataPropertyName = "ProductsID";
colPID.Name = "ProductsID";
colPID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colPID.HeaderText = "产品ID";
colPID.Width = 140;
this.dgselect.Columns.Insert(4, colPID); DataGridViewButtonColumn colButton = new DataGridViewButtonColumn();
colButton.DataPropertyName = "colSearch";
colButton.Name = "colSearch";
colButton.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colButton.HeaderText = "Button";
colButton.Width = 80;
this.dgselect.Columns.Insert(5, colButton); this.dgselect.RowHeadersWidth = 15;
this.dgselect.ColumnHeadersDefaultCellStyle.Font=new System.Drawing.Font("宋体",14);
}3. //修改数据,并将数据提交到数据库private Boolean dbUpdate()
{
string strSql = "select ProductsSpecID,ProductsSpec,ProductsSpecUnit,ProductsID from tbl_product_detail_master";
System.Data.DataTable dtUpdate = new System.Data.DataTable();
dtUpdate = this.dbconn(strSql);
dtUpdate.Rows.Clear(); System.Data.DataTable dtShow = new System.Data.DataTable();
//dtShow = (DataTable)this.bindSource.DataSource;
dtShow = (System.Data.DataTable)this.dgselect.DataSource; int p1 = dtShow.Rows.Count;
// try
// { for (int i = 0; i < dtShow.Rows.Count; i++)
{
DataRowState rowState=new DataRowState();
rowState=dtShow.Rows[i].RowState;
if (rowState==DataRowState.Added || rowState==DataRowState.Detached || rowState==DataRowState.Modified)
{ if (this.dgselect["Del", i].Value.ToString() == "1")
{
dtShow.Rows[i].Delete();
}
}
}
for (int i = 0; i < dtShow.Rows.Count; i++)
{
dtUpdate.ImportRow(dtShow.Rows[i]);
}
int num = dtUpdate.Rows.Count;
try
{
this.conn.Open();
trans = this.conn.BeginTransaction(); MySqlCommandBuilder CommandBuiler;
CommandBuiler = new MySqlCommandBuilder(this.adapter); this.adapter.Update(dtUpdate);
trans.Commit();
this.conn.Close(); }
catch ( Exception ex)
{
MessageBox.Show(ex.Message.ToString());
trans.Rollback();
return false;
} dtUpdate.AcceptChanges();
return true; }
循环取应该知道吧!
for (int i = 0; i < this.DataGridView1.Rows.Count - 1; i++)
{
DataGridView1.Rows[i].Cells[0].Value...
DataGridView1.Rows[i].Cells[1].Value...
...
}这样
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;namespace SqlDataAdapterTest
{
public partial class Form1 : Form
{
SqlDataAdapter da;
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
SqlCommandBuilder cb = new SqlCommandBuilder(da);
DataTable dt = this.dataGridView1.DataSource as DataTable;
if (dt != null)
{
da.Update(dt);
dt.AcceptChanges();
//BindData();
}
} private void Form1_Load(object sender, EventArgs e)
{ BindData();
} void BindData()
{
SqlConnection conn = new SqlConnection("Server=.;Integrated Security=True;Database=Northwind");
da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select * from Employees", conn);
DataTable dt = new DataTable();
da.Fill(dt);
this.dataGridView1.DataSource = dt;
}
}
}
要这个demo完整代码用站内信密我.
myRow["xuehao"] = this.dataGridView1.Rows[i].Cells["Column1"].Value.ToString();
如果这个里面没值的话就会报错,
你先判断是否为null再赋值!