您的位置:寻梦网首页编程乐园VB 编程乐园VB问题全功略

VB问题全功略(66)
自动滚屏(右键停止)

上一页(66)

326、如何快速选择全部项目?
327、如何真正删除数据库的记录?
328、如何显示动画鼠标图标?
329、如何在 SQL 语句中使用日期?
330、如何在数据库中取得下个自动生成的ID?

326、如何快速选择全部项目?

我们在使用 List 控件时,经常需要全部选择其中的项目,在项目较少时,我们可以逐项设置 Selected 来选择全部的项目,但当项目较多时,这样做就比较费时,其实,我们可以用 API 函数来简单实现此功能: 
Dim nRet As Long 
Dim bState as Boolean 
bState=True 
nRet = SendMessage(lstList.hWnd, LB_SETSEL, bState, -1) 
函数声明: 
Public Declare Function SendMessage Lib "User32" Alias "SendMessageA" ( ByVal hWnd As Long, ByVal wMsg As Integer, 
ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_USER = &H400
Public Const LB_SETSEL = (WM_USER + 6) 

327、如何真正删除数据库的记录?

大家知道,缺省情况下,VB 删除记录只是把记录作上个删除标志而已,并没有真正删除。要真正删除记录,你可以使用 VB 提供的以下方法:BeginTrans、CommitTrans、RollBack。其中,BeginTrans 方法开始记录数据库的变动,CommitTrans 方法确认数据库的变动,而 RollBack 方法则可以恢复被删除或修改的记录。它们可以嵌套使用。因此,要恢复被删除的记录,应该在使用 BeginTrans 方法之后及使用 CommiTrans 方法之前使用 RollBack 方法。

[返回索引]

328、如何显示动画鼠标图标?

Win95 的动画鼠标为应用程序增色不少,而 VB 则只提供一般的鼠标图标支持。要用 VB 显示动画鼠标形状,你可以使用以下方法: 
函数声明: 
Public Const GCL_HCURSOR = -12
Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long
Declare Function DestroyCursor Lib "user32" (ByVal hCursor As Any) As Long
Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
使用: 
Dim mhBaseCursor As Long, mhAniCursor As Long
Dim lResult As Long
mhAniCursor = LoadCursorFromFile("c:\windows\cursors\appstart.ani")
lResult = SetClassLong((hwnd), GCL_HCURSOR, mhAniCursor)
 

[返回索引]

329、如何在 SQL 语句中使用日期?

1 "UPDATE A SET D = '" & DATE & "'"
2 "UPDATE A SET D = #" & DATE & "#"
如果是在 SQL Server 等, 应考虑日期的格式问题。

[返回索引]

330、如何在数据库中取得下个自动生成的ID?

在许多数据库里我们使用了自动增加的 ID, 能取得下个自动产生的 ID, 意味着在数据增加后, 不再需要使用 LastModified 属性和 bookmarks。
With Data1.Recordset
.AddNew
MsgBox !ID '下个自动生成的 ID
.CancelUpdate
End With

上一页(66)