ListView怎么删除数据库指定的某一行数据?
楼主用VB写了一个ListView,想用来操作Access数据库
比如选择ListView第三行,点击“删除”,就删除Access第三行。
但找了很久,都没有发现有这个命令。
网上都是delete from 数据库名 where 姓名 = 张三。
不适合我用。有没有下面的代码?
---------------------------------
Dim a
a = ListView1.SelectedItem.Index‘这条是取得鼠标所在的ListView的行数
delete 数据库名 第a行
----------------------------------------
新手,请大家指点。
解决方案 »
- 如何让滚动条(ScrollBar)的拉块变大?
- 想用text1.text显示 sql的datetime 类型 怎么做?
- 高分求:如何实现好象瑞星一样将图标挂在右下角?
- 怎么样能让窗口的显示与“分辨率”无关,是不是有控件,哪里有?
- mshflexgrid的背景颜色问题
- vb高手,report为什么不行,软件马上要在工厂用了,在线等待。这次我要恨点了加100,不够分再加.
- 请教winsock控件的异常问题
- VB 作串口实时数据采集曲线
- 再问一遍!!!
- 用select * from [sheet1$]访问EXCEL,如果不知道SHEET1的名,如何处理,请指教!
- 一个算是比较难的文本读取和处理问题,是不是涉及到了ASCCII?求大神支招
- 32位word能读32位数据库,但是64位word却不能读32位数据库,是少点什么代码嘛?
ListView 的说明:完整代码
在 ListView 的说明 1 到 4 中讨论的代码,除了充填 TreeView 控件的过程,都在下面给出。要得到充填 TreeView 控件的代码,请参阅“TreeView 控件的说明:将 TreeView 绑定到 Biblio.mdb 数据库”。要得到本代码的工作示例,请参阅列在 Samples目录中的示例应用程序 DataTree.vbp。'普通声明
Private mDbBiblio As Database '数据库变量。Private Sub Form_Load()
'打开 Biblio.mdb,并将对象变量
'设置为该数据库。
Set mDbBiblio = DBEngine.Workspaces(0). _
OpenDatabase("Biblio.mdb") '充填 TreeView 控件的代码
'在这里没有给出。
End SubPrivate Sub tvwDB_NodeClick(ByVal Node As Node)
'检查 Tag 是否是 "Publisher"。如果是,则
'调用 MakeColumns 过程,然后调用
' GetTitles 函数。
If Node.Tag = "Publisher" Then
MakeColumns
GetTitles Val(Node.Key)
End If
End SubPrivate Sub MakeColumns()
'清空 ColumnHeaders 集合。
lvwDB.ColumnHeaders.Clear
'添加四个 ColumnHeader。
lvwDB.ColumnHeaders.Add , , "Title", 2000
lvwDB.ColumnHeaders.Add , , "Author"
lvwDB.ColumnHeaders.Add , , "Year", 350
lvwDB.ColumnHeaders.Add , , "ISBN"
End SubPrivate Sub GetTitles(PubID)
'删除旧的书目。
lvwDB.ListItems.Clear
'声明 Recordset 类型的对象变量。
Dim rsTitles As Recordset
'对该记录,用仅查找具有相同 PubID 的书目的查询
'创建一个记录集。
'对该记录集中的每条记录,在
' ListView 控件中添加 ListItem 对象,
'并用记录的 Title、 ISBN 和 Author 字段
'设置新对象的属性。
Set rsTitles = mDbBiblio.OpenRecordset _
("select * from Titles where PubID = " & PubID)Do Until rsTitles.EOF
'添加 ListItem。
Set mItem = lvwDB.ListItems.Add()
mItem.Text = rsTitles!TITLE
mItem.SmallIcon = "smlBook"
mItem.Icon = "book"
mItem.Key = rsTitles!ISBN
' 用函数得到作者并设置
' SubItems(1) 属性。
mItem.SubItems(1) = GetAuthor(rsTitles!ISBN)
If Not IsNull(rsTitles![Year Published]) Then
mItem.SubItems(2) = _
rsTitles![Year Published]
End If
mItem.SubItems(3) = rsTitles!ISBN
rsTitles.MoveNext
Loop
End SubPrivate Function GetAuthor(ISBN)
'声明 DAO 对象变量。
Dim rsTitleAuthor As Recordset
Dim rsAuthors As Recordset
'将对象变量设置为记录集。
Set rsTitleAuthor = mDbBiblio. _
OpenRecordset("Title Author", dbOpenDynaset)
Set rsAuthors = mDbBiblio. _
OpenRecordset("Authors", dbOpenDynaset)
'创建查询字符串。
Dim strQuery As String
strQuery = "ISBN = " & "'" & ISBN & "'"
rsTitleAuthor.FindFirst strQuery
'如果没有作者,则返回 "n/a"。
'否则,返回作者的姓名。 If rsTitleAuthor.NoMatch Then
GetAuthor = "n/a"
Exit Function
Else
'假定找到了正确的记录集。
'然后用 Au_ID 字段值重新设置查询字符串,
'并搜索“作者”表。
strQuery = "Au_ID = " & rsTitleAuthor!AU_ID
rsAuthors.FindFirst strQuery
'返回 Author 字段中的作者姓名。
GetAuthor = rsAuthors!Author
End If
End Function
2、连接数据库
3、获取所选行的内容执行删除命令你这个最好是通过序号来删除,获取字段的方法Listview1.ListItems.Item(1).SubItems(1) 这个就表示第1行第1列的数值