酷酷小魔神 酷酷小魔神
关注数: 5 粉丝数: 30 发帖数: 804 关注贴吧数: 9
求助:SQL语句问题! 我在datagridview添加了右键菜单,需要点击菜单中的“删除”按钮可以删除整个行。我现在做的结果是点击选择第一列,右键功能可以实现。但选择第二第三列就会报错。我希望可以点击选择任意列都可以实现删除功能。 这是我的代码,图片 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { string dd = this.dataGridView1.CurrentRow.Cells[e.ColumnIndex].Value.ToString(); OleDbCommand cmd = sqlConnection1.CreateCommand(); //string dd=this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString(); //string dd = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); sqlConnection1.Open(); string str = dd; //cmd.CommandText = "select words1 as 生词,meaning1 as 中文,lx1 as 例句 from difword2 where words1 like '" + str + "'or meaning like'" + str + "'or lx like '" + str + "' "; cmd.CommandText = "select *from difword2 where words1 like '" + str + "'"; OleDbDataAdapter adp = new OleDbDataAdapter(cmd); DataTable ds = new DataTable();//建立数据集对象 adp.Fill(ds);//填充数据集 sqlConnection1.Close(); DataRow row = ds.Rows[0]; ZiDuan vacabu = new ZiDuan(); //表的对象调用成员 vacabu.words1 = (string)row["words1"]; vacabu.meaning1 = (string)row["meaning1"]; vacabu.lx1 = (string)row["lx1"]; DANCI = vacabu.words1;//单词暂时存着,后面进行操作 shiyi = vacabu.meaning1; liju = vacabu.lx1; } private void 删除ToolStripMenuItem_CellClick(object sender, EventArgs e) { // dataGridView1.Rows.Remove(dataGridView1.CurrentRow);//删除当前光标所在行 //string sql = "delete from difword2 where words like '" + DANCI + "'or meaning like'" + shiyi + "'or lx like '" + liju + "' "; string sql = "delete from difword2 where meaning1 like '" + shiyi + "'"; sql = sql; sqlConnection1.Open(); OleDbCommand com = new OleDbCommand(sql, sqlConnection1); com.ExecuteNonQuery(); string sql1 = "select words1 as 生词,meaning1 as 中文,lx1 as 例句 from difword2"; sql1 = sql1; OleDbDataAdapter adp1 = new OleDbDataAdapter(sql1, sqlConnection1); DataTable ds1 = new DataTable(); ds1.Clear(); adp1.Fill(ds1); //adp1.Update(ds1); //显示生词本窗口 dataGridView1.DataSource = ds1; sqlConnection1.Close(); } }
1 下一页