private void button1_Click(object sender, EventArgs e)
        {
                    myTable.Rows[dataGridView1.CurrentRow.Index].Delete();
          if (MessageBox.Show("确实要删除这条记录吗?", "询问", MessageBoxButtons.YesNo)      == DialogResult.Yes)
            {
             try
               {
                   
                //// myAda.Update(myTable.GetChanges());///
                 MessageBox.Show("数据删除成功!", "信息");
               }
            catch (SqlException ex)
                {
                  MessageBox.Show(ex.ToString());                }
              }
          else
              {
             myTable.RejectChanges();
              }
上面///引上的位置是出现错误的位置,当我用select*from表名 作为查询时候可以删除记录.当我用select time as '发送时间'from 表名时.不全部查询时就会出现错误.请指教

解决方案 »

  1.   

    能否把错误内容贴上来让大家看看,你的delete SQL是怎么写的呢?
      

  2.   

    select*from表名 把主键也查出来了啊。应该是包括吧.我是初学,究竟应该是怎么个意思还不大理解。希望再有人帮我下啊。谢啦.
      

  3.   

    这个是不需要写delete SQL的应该,据说是datagridview中的新特点。我上面的程序就可以删除数据库中的记录了。
      

  4.   

    //// myAda.Update(myTable.GetChanges());///myAda是怎么产生的,里面有delelte SQL的。
      

  5.   

    myAda里面没什么sql语句的。删除数据有两种办法目前,用sql语句,要不就用datagridview的新的特性。哎,我的问题可能太简单,高手都不卸于给我回答的。哈,下回问难的和麻烦的!!!!
      

  6.   

    用datagridview删除数据库的记录,怎么删啊?学习!
      

  7.   

    看一看你的myAda里面的DeleteCommand的CommandText内容就知道为什么不能删除了。另外你的这句:
    myTable.Rows[dataGridView1.CurrentRow.Index].Delete();好像有些问题,有时候dataGridView1.CurrentRow.Index并不是你要删除的那一行的Index,
    如果你的myTable包含主键的话,可以用用Find方法找到需要删除的行。
      

  8.   

    我跟你遇到同样的问题,帮你顶一下。还有myTable.Rows[dataGridView1.CurrentRow.Index].Delete();删的不一定是你当前行,就第一次删的时候是,以后每次少一。还有有时间帮我顶一下。同样问题,一点不差,但是我把问题描述的清楚。建议LZ也在描述一下你的问题。http://community.csdn.net/Expert/TopicView3.asp?id=5056813
      

  9.   

    我是在数据源配置里建立查询语句的,同时建立新增、修改、和删除的SQL语句。int i = dataGridView1.CurrentRow.Index;
    BindingSource1.RemoveAt(i);
    TableAdapter1.Update(DataSet.datatable);
      

  10.   

    哎。。这么容易的问题啊。
    你查出来的记录中的列集合中 是否有主键列?
    如果没有.NET自动生成的代码删除不掉你指定行,
    因为他根本就不知道删除哪一行,没有主键,如何判断