Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Problema activare Xbox live gold ...

Fluierat Astra H 1.9 CDTI

Excel - Intrebare referitoare la ...
 Caut dentist care sa pune plombe ...

Grinzi suspendate

BluRay Player 4k

Calorifer
 Dovada talon

Denumire Club de Noapte

Știri legate de Stația ...

Sfat achizitie componente
 Locul unde se salveaza jocurile

Analizator antena Ringexpert

Spionul - The Spy (2019)

Versuri melodie
 

ADO si DataGrid

- - - - -
  • Please log in to reply
4 replies to this topic

#1
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
Salut,

Incerc sa fac un programel in vb6 pentru mentenanta unei baze de date. Totul merge ok, mai putin update-ul si delete-ul... (care initial mergeau.. nu imi pot da seama de ce nu mai functioneaza...).
Am incercat tot ce mi-a trecut prin minte, tot ce am gasit pe net, insa fara succes.
Eroarea care apare este: Microsoft DataGrid Control: Insufficient base table information for updateing or refreshing.
Postez mai jos codul, in speranta ca veti fi amabili si ma veti ajuta cu o idee.



Private Sub list1_DblClick()
Dim sSettingLog As String
sSettingLog = GetINISetting("LOG", "NAME", App.Path & "\artsDBv2.ini")
On Error GoTo cmdReceiveError:
cmdReceiveError:
If Err.Number <> "0" Then
Open sSettingLog For Append As #1
Print #1, Now() & " -> > > [list1_DblClick] - " & "[" & Err.Description & " -> > > " & Err.Number & "]"
Close #1
Resume Next
End If

Dim ipp As String
Dim nnume As String
Dim sql As String
Dim MyRs As ADODB.Recordset
Set MyRs = ADO.Recordset
Dim numar As String


ipp = DataGrid2.Columns(5)
nnume = DataGrid2.Columns(1)

Text4.Text = nnume & "->" & ipp
Text1.Text = list1
sql = "SELECT * FROM " & list1 & """"


sql = "SELECT TOP 0 * FROM " & list1 & """"
ADO.ConnectionString = "Driver={c-treeSQL ODBC Driver};Host=" & ipp & ";DSN=PumaPro;Port=6597;Database=DataBase;UID=User; PWD=Password;Option=3"

DataGrid1.ScrollBars = dbgAutomatic

Form1.DataGrid1.AllowUpdate = True

Form1.DataGrid1.AllowDelete = True


ADO.RecordSource = sql
ADO.Refresh
Set DataGrid1.DataSource = ADO
DataGrid1.Columns(0).Width = 0
Text2.Text = DataGrid1.ApproxCount
list2.Clear
Dim NumberOfColumns As Variant
Dim r, c As Integer
NumberOfRows = ADO.Recordset.RecordCount
NumberOfColumns = ADO.Recordset.Fields.Count
For c = 1 To NumberOfColumns - 1
list2.AddItem ADO.Recordset.Fields.Item©.Name
Next
Label5.Visible = True
End Sub



Multumesc anticipat!

#2
danvlas

danvlas

    Guru Member

  • Grup: Senior Members
  • Posts: 11,118
  • Înscris: 04.06.2009
Userul are drepturi de Update/Delete pe tabela respectiva?
Undeva ai "Select Top 0 * From...", ceea ce-ti returneaza doar capul de tabel, fara nici o inregistrare.

#3
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
Da, userul are drepturi.

Comanda corecta este cea de jos... am copiat alta in care am nevoie doar de capul de tabel fara nicio inregistrare...

sql = "SELECT * FROM " & list1 & """"

#4
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
Nu aveti nicio idee?Posted Image

#5
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 39,840
  • Înscris: 30.07.2003
Ai o cheie primara la tabelul in cauza ? El face update de nebun, cum localizeaza inregistrarea ? Cum arata codul cu medoda Recordset.Save ori Recordset.Update ?

MyRs ce face pe acolo ?

Edited by neagu_laurentiu, 22 April 2013 - 05:45.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate