Проблемы с DataGrid-контролом - VB

Узнай цену своей работы

Формулировка задачи:

У меня на форме DataGrid поселился, я его програмно связываю с таблицей на SQL Server(код ниже).
Проблема в том, что если я просто хожу по ячейкам - потом выдаётся ошибка - (The current row is not available), а редактировать данные - вообще не получается. Новую строку переходом по ячейкам тоже нельзя создать, как в Access'e.
Кто-то знает, как DataGrid приручить?
(ADO 8, Win98SE rus, VB6 SP5, SQL Server 2000 (MSDE))
Option Explicit
Dim cnnTest As ADODB.Connection
Dim rst As ADODB.Recordset
Private Sub Form_Load()
Set cnnTest = New ADODB.Connection
Set rst = New ADODB.Recordset
cnnTest.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=TB;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=SABUROV;"
cnnTest.Open
rst.ActiveConnection = cnnTest
rst.CacheSize = 100
rst.CursorLocation = adUseClient
rst.CursorType = adOpenDynamic
rst.Source = "Table1"
rst.Open Options:=adCmdTable
Set DataGrid1.DataSource = rst
End Sub
Private Sub Form_Unload(Cancel As Integer)
rst.Close
cnnTest.Close
End Sub
На сервере такая табличка:
CREATE TABLE [Table1] (
[rid] [int] IDENTITY (1, 1) NOT NULL ,
[N] [int] NULL ,
[D] [char] (10) CONSTRAINT [DF_Table1_D] DEFAULT ('hhh'),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
[rid]
) ON [PRIMARY]
) ON [PRIMARY]
GO

Решение задачи: «Проблемы с DataGrid-контролом»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> DataGrid1_OnAddNew()
    rst.AddNew Array(<font color="teal">"N"</font>, <font color="teal">"D"</font>), Array(<font color="teal">"111"</font>, <font color="teal">"MMMM"</font>)
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5