VB.NET中如何用ExecuteNonQuery方法来执行Delete语句啊,就是用来删除datagridview显示的数据中的信息。

如下图,显示的是页面,datagridview中是通讯录,想先通过学号找到指定的人,然后删除该人信息。

你是写winform的吗?

如果只是单纯用ExecuteNonQuery执行删除,下面给新增的例子,把新增的sql语句换成删除就可以了

Dim sql3 As String = "insert into LSplctable(LSID,plcpath,plcname) values(@LSID,@plcpath,@plcname)"
                    Dim acm3 As SqlCommand = New SqlCommand(sql3, conn)

                        acm3.Parameters.Clear()

                        acm3.Parameters.Add("@LSID", SqlDbType.NVarChar).Value = HFDLS.Value

                        acm3.Parameters.Add("@plcpath", SqlDbType.NVarChar).Value = filename(i)

                        acm3.Parameters.Add("@plcname", SqlDbType.NVarChar).Value = plcpath.Replace(extension, "")

                        acm3.ExecuteNonQuery()

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-19

你这要实现的功能个步骤是这样:
1.在搜索栏中填入姓名,点击查询按钮后找到该学生信息,并显示在下面dataGridView中;
2.点击要删除数据的哪行数据;
3.点击删除按钮后删除该数据并提示成功。

 

上面的第一个步骤查找的你应该会做了吧?
第三个步骤在点击“删除”按钮时,也就是在删除按钮点击事件中要做:
1.获取选中行的学号

String sno= dataGridView1.SelectedRows[0].Cells["学号"].Value.ToString();

2.执行SQL语句,删除该数据

string sql = string.Format("delete 表 where 学号=‘{}’",sno);

SqlConnection conn = new SqlConnection("....");

SqlCommand cmd = new SqlCommand(sql,conn);

cmd.ExecuteNonQuery();

3.提示删除成功,并刷新dataGridView

以上代码是C#,你VB.NET也差不多的,只是声明变量时候顺序不一样,应该能看懂吧。上面信息希望对你有帮助^^

追问

帮我修改以下的代码吧,有错误。

 

追答

可以将你的错误提示贴图出来吗,这样很难看清。

追问

你点击上面那个图就可以看清了,把代码贴出来超过数字没办法。。因为我也不知道哪里错了。

追答

我的意思是将错误提示截图放上了。

 

不过目测你上面的sql语句错了

StrSQL=“delete from 通讯录 where row.cells("学号").Value=Text7.Text”

 

正常的SQL删除语句是:

delete from 表 where 字段=值

你写的那句SQL错的原因是,值没有传入,你写的是要传入变量的字符串!按上面写的意思就是查找学号为"Text7.Text"的学生信息,很明显学号不可能为"Text7.Text"。如果要使SQL语句中传入你的变量,可以用字符串拼接方式,或者字符格式输出。

 

你试试将上面句子改为下句看看:

Dim sno As String
sno=dataGridView1.SelectedRows(0).Cells("学号").Value.ToString()//不知道VB.NET中取dataGridView取所选行是不是这样
StrSQL=string.Format("delete from 通讯录 where 学号='{0}'",sno)

 

当然,删除前要先选中删除行数据,否则上面第二行会报错。

本回答被提问者和网友采纳
第2个回答  2013-11-18
你已经说了步骤了,哪里不明白?追问

代码不知道怎么写。。。

VB.NET中如何用ExecuteNonQuery方法来执行Delete语句啊,就是用来删除da...
如果只是单纯用ExecuteNonQuery执行删除,下面给新增的例子,把新增的sql语句换成删除就可以了 Dim sql3 As String = "insert into LSplctable(LSID,plcpath,plcname) values(@LSID,@plcpath,@plcname)" Dim acm3 As SqlCommand = New SqlCommand(sql3, conn) acm3.Parameters.Clear() a...

VB.net怎样全部删除DataGridView的内容?
可以dataAdapter.Fill到数据表应该,设置几个command,再通过dataAdapter.Update就可以更新数据了。不过表要有一个关键的key吧。另外一种直观一点:也需要表有个关键key有就是关键字段。你datagridview.reomveAt(index)同时执行sqlcommand("delete * From table where keyFild='" & key & "'")就可以。

vb.net中DataGridView控件中,怎么删除选定的某一行,并删除数据库中对应...
myConn.Open()Dim sqldel As String = "delete from Table where AAA='"&datagridview1.CurrentRow.Cells(i).Value.ToString.Trim()&"'Dim del As OleDbCommand = New OleDbCommand(sqldel, myConn)del.ExecuteNonQuery()myConn.Close 然后再重新帮顶下datatable显示一下就ok了 ...

vb.net中向datagridview中添加,删除,修改记录并保存到access数据库,求...
一般是将access数据库绑定到datagridview中,要添加数据只需要datagridview1.Item(3, 0).Value=XXX这种就行了,删除修改同理。保存到access是你已经有了一个access表吧?不然字段都要新建的。如果要保存到数据库的话就调用sql语句链接数据库了,我找个以前的代码 Dim OleDbConn As OleDbConnection = ...

.net中executeNonQuery问题
"Insert Into kaohe ( emID,emName,emState,emDate) Values (" & a & "," & b & "," & StateStr & "," & time & ")"value里面的值需要有单引号在sql语句,你把你的insertsql值捕捉到放到查询分析其里面执行以下看能否成功 参考资料:l ...

vb.net怎么将datagridview的数据写入数据库
将textbox中的数据添加到datagridview中就不用说了吧 datagridview中更新导数据库 使用:定义 OleDbCommandBuilder(DataAdapter)DataAdapter.Update(DataSet)DataGridView.Update()

C#datagridview删除行的问题,请大家看下下面的代码,为何提升删除成功...
你这只是从数据库中删除,而datagridview的行却没有删除,改成:for (int i = j-1; i >= 0; i--){ string str = dgv.Rows[this.dgv.SelectedRows[i].Index].Cells[5].Value.ToString();int _id = Convert.ToInt32(str);string strdel = "delete from dab where id='" +_id +...

vb.net 中datagridview内数据修改后保存代码怎么写
Catch ex As Exception Console.WriteLine(ex.Message) MsgBox("数据保存失败" & vbCrLf & ex.Message.ToString, MsgBoxStyle.Critical) Finally AccessAdapter.Dispose() AccessCmdBulid.Dispose() End Try

c# 选中dataGridView中的一行将其删除
直接说使用Sql语句删除——OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+主键值+"", oraconn);oracomm.ExecuteNonQuery();看能否对你有帮助,不明白的还可以问我。回LZ:既然你要做第二种,那么你的dataGridView里应该有一列是主键,选中某行时获取这行的主键就可以了...

在C#中dataGridView1如何删除行并删除数据库里面的
1、我们可以在窗体页面上添加ContextMenuStrip快捷菜单。2、然后我们就能就能在删除行这个子项中编写删除事件代码。3、此时我们我们就能调用DataGridView的Rows属性。4、然后引用rowIndex属性即可获得行下标。5、此时我们就能通过获取到Rows行下标的IsNewRow属性判断是否被选中。6、如果被选中了,我们就能利用...

相似回答