我用oleDbDataAdapter 来连接 access数据库,我已经成功连接哦,也可以向数据库中添加行了,可是我不知道怎么删除指定的列;请问各位,有谁知道怎么在dataGrid来删除指定行啊?请多多帮忙,谢谢了。
DataRow r=ds.Tables[0].Rows[DataGrid.CurrentRowIndex];
if(MessageBox.Show("是否要删除"+r[0].ToString()+"?","提示",MessageBoxButtons.YESNO,MessageBoxIcon.Question)==DialogResult.YES)
{
SqlCommand cmd=new SqlCommand();
cmd.Connection=con;
cmd.CommandText="delete from [表名] where [字段名]=@id";
SqlParameter para=cmd.Parameters.Add("@id",SqlDbType.Char,30);
para.Value=r[0].ToString();
da.DeleteCommand=cmd;
r.Delete();
try
{
da.Update(ds.Tables[0].Select("","",DataViewRowState.Deleted));
}
catch(SqlException er)
{
MessageBox.Show(er.Message);
ds.Tables[0].RejectChanges();
return;
}
MessageBox.Show("已成功删除信息");
}
我用的是SqlClient命名空间,如果连接Access库,可改为OleDb命名空间,所有方法是通用的
DataRow r=ds.Tables[0].Rows[DataGrid.CurrentRowIndex];
if(MessageBox.Show("是否要删除"+r[0].ToString()+"?","提示",MessageBoxButtons.YESNO,MessageBoxIcon.Question)==DialogResult.YES)
{
SqlCommand cmd=new SqlCommand();
cmd.Connection=con;
cmd.CommandText="delete from [表名] where [字段名]=@id";
SqlParameter para=cmd.Parameters.Add("@id",SqlDbType.Char,30);
para.Value=r[0].ToString();
da.DeleteCommand=cmd;
r.Delete();
try
{
da.Update(ds.Tables[0].Select("","",DataViewRowState.Deleted));
}
catch(SqlException er)
{
MessageBox.Show(er.Message);
ds.Tables[0].RejectChanges();
return;
}
MessageBox.Show("已成功删除信息");
}
我用的是SqlClient命名空间,如果连接Access库,可改为OleDb命名空间,所有方法是通用的
成功~~