Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
ADO si DataGrid
Last Updated: Apr 22 2013 05:33, Started by
eugen55ro
, Apr 12 2013 07:28
·
0
#1
Posted 12 April 2013 - 07:28
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
Posted 12 April 2013 - 14:42
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
Posted 14 April 2013 - 20:13
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 & """" |
#5
Posted 22 April 2013 - 05:33
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
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users