异常信息:参数 ?_3 没有默认值。这是什么意思?这是对DGV修改后,保存所做的修改时发生的。但是在对第一个DGV操作时没有发生异常,这是对第二个DGV修改后,保存时发生的。代码如下:
private void BC_KLX_Click(object sender, EventArgs e)
{
if(MessageBox.Show("确定保存所做的修改吗?","系统提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
DataTable data_klx = (DataTable)this.GridView_KLX.DataSource;
DataTable changedData_klx = data_klx.GetChanges(); if (changedData_klx !=null)
{
dataAdapter_KLX.Update(changedData_klx); 发生异常。 data_klx.AcceptChanges();
}其余主要代码块:
//绑定和更新DGV
private OleDbConnection connection = null;
private OleDbCommand selectCommand = null;
private OleDbDataAdapter dataAdapter = null;
private OleDbCommand selectCommand_KLX = null;
private OleDbDataAdapter dataAdapter_KLX = null;
private string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
------------------------------------------------------------------------------
//绑定消费项目
connectionString = connectionString + @System.Configuration.ConfigurationSettings.AppSettings["connString"].ToString();
connection = new OleDbConnection(connectionString);
selectCommand = connection.CreateCommand();
string sql_xfxm_bdgv = "select * from xfxmb ";
selectCommand.CommandText = sql_xfxm_bdgv;
dataAdapter = new OleDbDataAdapter();
dataAdapter.SelectCommand = selectCommand;
DataTable data = new DataTable();
dataAdapter.Fill(data);
this.GridView_XFXM.DataSource = data; OleDbCommandBuilder builder = new OleDbCommandBuilder(dataAdapter);
dataAdapter.UpdateCommand = builder.GetUpdateCommand();
dataAdapter.InsertCommand = builder.GetInsertCommand();
dataAdapter.DeleteCommand = builder.GetDeleteCommand();
this.GridView_XFXM.Columns[0].HeaderCell.Value = "序号";
this.GridView_XFXM.Columns[1].HeaderCell.Value = "推荐日期";
this.GridView_XFXM.Columns[2].HeaderCell.Value = "消费名称";
this.GridView_XFXM.Columns[2].Width = 230;
this.GridView_XFXM.Columns[3].HeaderCell.Value = "金额";
this.GridView_XFXM.Columns[4].HeaderCell.Value = "操作员";
//绑定会员卡类型
selectCommand_KLX = connection.CreateCommand();
string sql_klx_bddgv="select * from hyklxszb";
selectCommand_KLX.CommandText = sql_klx_bddgv;
dataAdapter_KLX = new OleDbDataAdapter();
dataAdapter_KLX.SelectCommand = selectCommand_KLX;
DataTable data_klx = new DataTable();
dataAdapter_KLX.Fill(data_klx);
this.GridView_KLX.DataSource = data_klx; OleDbCommandBuilder builder_klx = new OleDbCommandBuilder(dataAdapter_KLX);
dataAdapter_KLX.UpdateCommand = builder.GetUpdateCommand();
dataAdapter_KLX.InsertCommand = builder.GetInsertCommand();
dataAdapter_KLX.DeleteCommand = builder.GetDeleteCommand();
this.GridView_KLX.Columns[0].HeaderCell.Value = "序号";
this.GridView_KLX.Columns[1].HeaderCell.Value = "卡类型";
this.GridView_KLX.Columns[1].Width = 240;
this.GridView_KLX.Columns[2].HeaderCell.Value = "消费类型";
this.GridView_KLX.Columns[3].HeaderCell.Value = "卡中次数";
this.GridView_KLX.Columns[4].HeaderCell.Value = "办卡费用";
---------------------------------------------------------------------------------------------
private void SC_KLX_Click(object sender, EventArgs e)
{
if(MessageBox.Show("确定删除该信息吗?","系统提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
foreach (DataGridViewRow r in GridView_KLX.SelectedRows)
{
if(!r.IsNewRow)
{
GridView_KLX.Rows.Remove(r);
}
}
}
} private void BC_KLX_Click(object sender, EventArgs e)
{
if(MessageBox.Show("确定保存所做的修改吗?","系统提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
DataTable data_klx = (DataTable)this.GridView_KLX.DataSource;
DataTable changedData_klx = data_klx.GetChanges(); if (changedData_klx !=null)
{
dataAdapter_KLX.Update(changedData_klx); data_klx.AcceptChanges();
} }
}
}
private void BC_KLX_Click(object sender, EventArgs e)
{
if(MessageBox.Show("确定保存所做的修改吗?","系统提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
DataTable data_klx = (DataTable)this.GridView_KLX.DataSource;
DataTable changedData_klx = data_klx.GetChanges(); if (changedData_klx !=null)
{
dataAdapter_KLX.Update(changedData_klx); 发生异常。 data_klx.AcceptChanges();
}其余主要代码块:
//绑定和更新DGV
private OleDbConnection connection = null;
private OleDbCommand selectCommand = null;
private OleDbDataAdapter dataAdapter = null;
private OleDbCommand selectCommand_KLX = null;
private OleDbDataAdapter dataAdapter_KLX = null;
private string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
------------------------------------------------------------------------------
//绑定消费项目
connectionString = connectionString + @System.Configuration.ConfigurationSettings.AppSettings["connString"].ToString();
connection = new OleDbConnection(connectionString);
selectCommand = connection.CreateCommand();
string sql_xfxm_bdgv = "select * from xfxmb ";
selectCommand.CommandText = sql_xfxm_bdgv;
dataAdapter = new OleDbDataAdapter();
dataAdapter.SelectCommand = selectCommand;
DataTable data = new DataTable();
dataAdapter.Fill(data);
this.GridView_XFXM.DataSource = data; OleDbCommandBuilder builder = new OleDbCommandBuilder(dataAdapter);
dataAdapter.UpdateCommand = builder.GetUpdateCommand();
dataAdapter.InsertCommand = builder.GetInsertCommand();
dataAdapter.DeleteCommand = builder.GetDeleteCommand();
this.GridView_XFXM.Columns[0].HeaderCell.Value = "序号";
this.GridView_XFXM.Columns[1].HeaderCell.Value = "推荐日期";
this.GridView_XFXM.Columns[2].HeaderCell.Value = "消费名称";
this.GridView_XFXM.Columns[2].Width = 230;
this.GridView_XFXM.Columns[3].HeaderCell.Value = "金额";
this.GridView_XFXM.Columns[4].HeaderCell.Value = "操作员";
//绑定会员卡类型
selectCommand_KLX = connection.CreateCommand();
string sql_klx_bddgv="select * from hyklxszb";
selectCommand_KLX.CommandText = sql_klx_bddgv;
dataAdapter_KLX = new OleDbDataAdapter();
dataAdapter_KLX.SelectCommand = selectCommand_KLX;
DataTable data_klx = new DataTable();
dataAdapter_KLX.Fill(data_klx);
this.GridView_KLX.DataSource = data_klx; OleDbCommandBuilder builder_klx = new OleDbCommandBuilder(dataAdapter_KLX);
dataAdapter_KLX.UpdateCommand = builder.GetUpdateCommand();
dataAdapter_KLX.InsertCommand = builder.GetInsertCommand();
dataAdapter_KLX.DeleteCommand = builder.GetDeleteCommand();
this.GridView_KLX.Columns[0].HeaderCell.Value = "序号";
this.GridView_KLX.Columns[1].HeaderCell.Value = "卡类型";
this.GridView_KLX.Columns[1].Width = 240;
this.GridView_KLX.Columns[2].HeaderCell.Value = "消费类型";
this.GridView_KLX.Columns[3].HeaderCell.Value = "卡中次数";
this.GridView_KLX.Columns[4].HeaderCell.Value = "办卡费用";
---------------------------------------------------------------------------------------------
private void SC_KLX_Click(object sender, EventArgs e)
{
if(MessageBox.Show("确定删除该信息吗?","系统提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
foreach (DataGridViewRow r in GridView_KLX.SelectedRows)
{
if(!r.IsNewRow)
{
GridView_KLX.Rows.Remove(r);
}
}
}
} private void BC_KLX_Click(object sender, EventArgs e)
{
if(MessageBox.Show("确定保存所做的修改吗?","系统提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
DataTable data_klx = (DataTable)this.GridView_KLX.DataSource;
DataTable changedData_klx = data_klx.GetChanges(); if (changedData_klx !=null)
{
dataAdapter_KLX.Update(changedData_klx); data_klx.AcceptChanges();
} }
}
}
单步跟踪