删除数据库单条记录所引起起的思考

tully 2006-03-23 10:29:26
前提,在VB窗体中,用adodb的connection及recordset进行数据库操作,并用用listbox1控件进行绑定显示。
在listbox1显示的窗体中对记录进行,增加,修改。
表名为userinfo,字段为id,name,password
进行单条记录修改时,为了对些记录进行标识,必须设一个识别号,在窗体上设为一个text1控件txtid。
现在一个问题就是txtid如何取得字段id的值。

----------------
是否还有别的方法可以在使用listbox控件显示数据库时对单个记录进行删除??

部分代码如下:
Private Sub listboxDisplay()
ListName.Clear
Dim cn As Connection
Dim rs As Recordset
Dim tempStr As String
Dim cnStr As String
Dim rsStr As String
cnStr = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\db\StockInfo2k.mdb"
rsStr = "select name from userinfo"
Set cn = New Connection
Set rs = New Recordset
cn.CursorLocation = adUseClient
cn.Open cnStr
rs.Open rsStr, cn
Do Until rs.EOF
tempStr = rs("name")
ListName.AddItem tempStr
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
'txtId.Text = ListName.Columns(1)--------------无法执行
End Sub
-----------------------------------------------
或者有别的方法:

那么是否有方法对数据库里自动编号的字段,进行重新自动编号。
如下:
1 小张
2 小李
3 大兵
4 大王
5 老黄
6 老孙
---------
当进行了对其中几个删除后
1 小张
5 老黄
6 老孙
-------------
有什么方法可以在数据库里进行重新排序,变成
1 小张
2 老黄
3 老孙
---------------------------------------------------------------------

...全文
126 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LichKingSZ 2006-03-23
  • 打赏
  • 举报
回复
Private Sub listboxDisplay()
ListName.Clear
Dim cn As Connection
Dim rs As Recordset
Dim tempStr As String
Dim cnStr As String
Dim rsStr As String
cnStr = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\db\StockInfo2k.mdb"
rsStr = "select * from userinfo" '这里改了
Set cn = New Connection
Set rs = New Recordset
cn.CursorLocation = adUseClient
cn.Open cnStr
rs.Open rsStr, cn
Do Until rs.EOF
tempStr = rs("name")
ListName.AddItem tempStr
listname.itemdata(listname.newindex)=rs("id") '加了这句
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

'你要删除的时候就这样行了
strSQL="delete from userinfo where id=" & ListName.itemdata(listname.listindex)
...
LichKingSZ 2006-03-23
  • 打赏
  • 举报
回复
最详细莫过于MSDN了。。哈。。

ItemData 属性


返回或设置 ComboBox 或 ListBox 控件中每个项目具体的编号。

语法

object.ItemData(index) [= number]

ItemData 属性语法包含下面部分:

部分 描述
Object 对象表达式,其值是“应用于”列表中的一个对象。
Index 对象中指定项目的编号。
Number 与指定项目相关联的数。


说明

ItemData 属性是一个长整型数的数组,它有与控件的 List 属性相同数目的项目。可以用与每一项相关的数来标识它们。例如,在 ListBox 控件中,可以用雇员身份号来标识每一个雇员的名字。填 ListBox 时,也要将雇员号填入 ItemData 相应的元素中。

ItemData 常常用做与 ListBox 控件中项目相关的数据结构数组的索引。

注意 利用 AddItem 方法在列表中插入一个项目时,在 ItemData 数组中也会自动插入一项。但是其值不会重新初始化为 0;它保持列表在插入项目之前该位置的值。用 ItemData 属性时,一定要在向列表中加入新项时,设置它的值。


你的“修改”功能代码是什么。。怎么会排成未位。。。
tully 2006-03-23
  • 打赏
  • 举报
回复
可以谈一下原理吗?
经上述修改后。
可以准确地进行记录修改等操作。
但是修改记录后,则修改后的记录自动变成最后一列。看期其自动编号被排成末位。
------------
找了控件大全的电子档看了一下,没有关于listbox控件的。
想详细地请教这个原理。
---------------
希望该记录修改后,还能排在其原先的位置。
访问真八字排盘系统介绍: 1、八字排盘 八字排盘是将年月日时按照天干地支的形式进行排列,一个时间单位代表了一个柱。八字由年柱、月柱、日柱和时柱共四个柱组成,也被称为四柱八字。八字学中基于中国阴阳五行、天干地支与刑冲克害、以及民间盲派的神煞论等方式,进一步预测爱情顺遂、工作高低、姻缘好坏、财富高低、学业成就、身体健康等事的学问。 八字排盘由以下元素组合:年月日时四柱、大运干支、胎元 、流年干支、十神、地势、神煞等。生辰八字不只是把干支历计算出来,而还要遵守月令、节令的强弱,时辰的阴阳变化进行校正。排盘分析,就是根据出生者的性别、天干地支的阴阳五行关系、进一步推算出来的一套方法论,给预测者做人生吉凶的参考数据,在未来事业、财运、婚姻、家庭等问题时,能做出风险较低的决策。 八字排盘怎么看 八字排盘由年、月、日、时四柱组成,每柱包含一个天干和一个地支,共八个字。年柱代表出生的年份,月柱代表出生的月份,日柱代表出生的日期,时柱则代表出生的时辰。每个柱的干支组合都会对个人的命运产生影响。天干地支旁边标注的正财、偏财、偏印、正印、比肩、劫财、食神、伤官、正官、七杀等,称为十神。 2、八字排盘软件介绍 我们是腾讯云市场金牌合作伙伴,广州正规软件开发公司,开发的八字排盘系统数据最全面精准,我们八字排盘采用最精确的排盘程序,而且运用“真太阳时”,进行更精确的时间划分。大家都知道我们使用的北京时间,是统一规定的标准时间。而八字排盘需要相对于太阳方位的天文时间,即平太阳时。我们国家地大物博,北京时间19时,哈尔滨已经夜幕降临,而新疆却还是太阳高挂,这时哈尔滨的天文时间可能在20:00以后,而新疆的天文时间可能在16时以前。北京时间是东经120度经线的平太阳时,如果您出生地的经度与北京时间所处的经度差异较大,或者处于单数时间点的前后,比如6点差一刻,8点,10点15分等

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧