自己添加删除按钮btnDelete_Click:关键代码
int  selectedrow = grdVIEW_HOT_METAL.CurrentCell.RowNumber; 

if(selectedrow  == 0)
{
System.Windows.Forms.MessageBox.Show("请选中要删除的记录");
return;
}
//提前在btnDelete按下时候,将命令初始化
this.oleDbSelectCommand1.CommandText ="DELETE FROM VIEW_HOT_METAL WHERE 样品编码 = '"+grdVIEW_HOT_METAL[selectedrow,2]+"'  "+"SELECT 数据存储时间, 样品编码 FROM VIEW_HOT_METAL";
// 尝试加载数据集。
this.LoadDataSet();//我在oleDbSelectCommand1干了两件事,删除选中的记录,并重新加载数据
//LoadDataSet()是数据加载的功能函数自动生成的。我只是在这个函数中提前oleDbSelectCommand1付值,象这样对oleDbSelectCommand1提前赋值,也完成了查询功能,请教怎么修改oleDbSelectCommand1完成删除选中记录,并重新加载的功能,弄了个上午没完成

解决方案 »

  1.   


    直接在btnDelete_Click里面用
    this.dataGrid1.Focus();
    SendKeys.Send("{DELETE}");
    this.controlCalculate();
    删除当前行
    然后DataSet.update()
    就OK了
      

  2.   

    楼上的方法晚上在试试下午修改了下,可以删除了
    try 
    {
    int  selectedrow = grdVIEW_HOT_METAL.CurrentRowIndex; 
    if(selectedrow == 0)
    {
    System.Windows.Forms.MessageBox.Show("请选中要删除的记录");
    return;
    }
    //提前在btnDeleted按下时候,将命令初始化
    this.oleDbSelectCommand1.CommandText ="DELETE FROM TGBF_4350.dbo.hot_metal_analysis WHERE samplecode = '"+grdVIEW_HOT_METAL[selectedrow,1]+"'  "
    +"SELECT 数据存储时间, 样品编码 FROM VIEW_HOT_METAL";
    // 尝试加载数据集。
    this.LoadDataSet();
    }不过新问题出来了:
    grdVIEW_HOT_METAL的行列INDEX都是以0开始的
    不选中任何一行应MessageBox.Show("请选中要删除的记录"),此时selectedrow=0
    选中第一行,selectedrow 还是0,同样MessageBox.Show了怎么处理这个冲突问题
      

  3.   

    三楼的this.controlCalculate();
    什么意思,还要自己写函数么。没有这个东西
      

  4.   

    CurrentRowIndex从0开始,只要窗口有数据默认选定的就是第一行了所以不存在System.Windows.Forms.MessageBox.Show("请选中要删除的记录");的问题了
    呵呵
      

  5.   

    三楼的this.controlCalculate();
    什么意思,还要自己写函数么。没有这个东西-----------------
    忘了,这个东西没用
    注释掉就行了