PRB: DBGRID Can Cause VB to Crash When Scrolling Horizontally
ID: Q182289
|
The information in this article applies to:
-
Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0, 6.0
SYMPTOMS
Using the Remote Data Control and DBGrid can cause Visual Basic to
crash when scrolling horizontally in the DBGrid (dbgrid32.ocx).
RESOLUTION
Either size the grid so there is no need to scroll horizontally or
implement the FlexGrid control.
STATUS
Microsoft is researching this problem and will post new information here in
the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
This problem occurs in Windows 95 and Windows 98.
Steps to Reproduce Behavior
- Run the following SQL Server script file on SQL Server:
if exists (select * from sysobjects
where id = object_id('dbo.test') and sysstat & 0xf = 3)
drop table dbo.test
GO
CREATE TABLE dbo.test
( id int NOT NULL , a char (255) NULL , b char (255) NULL ,
c char (255) NULL , d char (255) NULL )
GO
NOTE: Please make sure to choose an appropriate database, such as pubs,
in which to create this Table.
- Create a new project in Visual Basic. Form1 is created by default.
- Under Components on the Project menu, check the Microsoft Remote Data
Control and Microsoft Data Bound Grid. Add a Remote Data Control, a
DBGrid, and a CommandButton to Form1. Under Project References select
Remote Data Object 2.0.
- Set the appropriate properties for the Remote Data Control to connect
with the Server. Create a DSN for the Master database and place the name
of the dsn in the datasource name property of the Remote Data Control In
the SQL property enter "Select * from test" without the quotes.
- Set the following properties for the DBGrid control accordingly:
DataSource = MSRDC1
- Add the following code to the CommandButton's Click method:
Dim con As rdoConnection
Dim rs As rdoResultset
Set con = rdoEngine(0).OpenConnection("", _
rdDriverNoPrompt, _
false, _
"DRIVER={SQL Server};" _
& "SERVER=<server_name>;" _
& "UID=<userID>;" _
& "PWD=<password>;" _
& "DATABASE=<databasename>")"
For i = 1 To 30
Set rs = con.OpenResultset("INSERT INTO test (id,a,b,c)" _
& " VALUES (" & i & " ,'" & CStr(i) " _
& "','2222222222222222222222222','3333333333333333333333333')")"
Debug.Print i
Next i
- Save the Project and run it.
- When the form is loaded, press the CommandButton to populate the table,
MSRDC, and grid. Close the form and run it again.
- When the grid is populated, scroll down using the mouse and the DOWN
ARROW button on the grid, and then try scrolling to the right.
Additional query words:
gpf kbVBp500 kbVBp kbWinOS98 kbDSupport kbdse kbADO kbVBp600 VB6Test
Keywords : gpf kbVBp kbVBp500 kbVBp600 kbWinOS98 kbGrpVBDB kbDSupport
Version : WINDOWS:5.0,6.0
Platform : WINDOWS
Issue type : kbprb
|