Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SQL upiti u Visual Basicu 6.0

[es] :: Visual Basic 6 :: SQL upiti u Visual Basicu 6.0

[ Pregleda: 3131 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

101kerber
Zagreb

Član broj: 81061
Poruke: 47
*.adsl.net.t-com.hr.



Profil

icon SQL upiti u Visual Basicu 6.002.08.2007. u 12:50 - pre 202 meseci
Za probu sam napravio formu u kojoj se nalaze Adodc i Datagrid, uspio sam sve povezati i otvoriti bazu. Stavio sam jedan textbox (text1), i jedan gumb. U gumb sam upisao sljedeći kod:

Adodc1.RecordSource = Text1.Text
Adodc1.Recordset.Requery
Adodc1.Refresh

cilj mi je da u taj textbox upisujem sql upite i da se oni pritiskom na gumb izvrše.

I to radi dobro dok god ja u textbox upisujem upite poput SELECT, međutim kada želim obrisati neki red iz baze, tada mi javlja poruku "Operation is not allowed when the object is closed", međutim koliko vidim taj red iz baze je unatoč javljenoj greški svejedno obrisan.
Također kada koristim naredbu UPDATE, dobijem istu grešku, unatoč tome što se ta naredba uredno izvrši.

Napominjem da osim gore navedenih tri linija koda, nema više nikakav kod u cijelom projektu (za sada).
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: SQL upiti u Visual Basicu 6.002.08.2007. u 14:11 - pre 202 meseci
Necu da komentarisem taj ADODC, ali probaj njega da sklonis sa forme i uradis ovako:
Code:
Private Sub Command1_Click()
Dim strPath As String
Dim strCon As String
Dim strSQL As String
Dim AdoKon As ADODB.Connection
Dim AdoRS As ADODB.Recordset

    strPath = "C:\Proba.mdb"

    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & _
    ";Persist Security Info=False"
    
    On Error GoTo Errors
    
    Set AdoKon = New ADODB.Connection
    AdoKon.Open strCon
        
    strSQL = Text1.Text
    
    Set AdoRS = AdoKon.Execute(strSQL)
    '..................
    'Ovde dalje rukujes sa podatcima koji se nalaze u AdoRS isto kao sa ADODC
    '..................
    AdoRS.Close
    AdoKon.Close

    Set RS = Nothing
    Set AdoKon = Nothing
    
Exit Sub
Errors:

    MsgBox Err.Number & " " & Err.Description, 64, "Greska."
    
End Sub

Ero S Onoga Sveta
 
Odgovor na temu

rgdrajko
Beograd

Član broj: 117734
Poruke: 710
80.93.249.*



+3 Profil

icon Re: SQL upiti u Visual Basicu 6.004.08.2007. u 02:58 - pre 202 meseci
Evo na brzinu za Adodc i Datagrid.

Code:

Option Explicit

Private Sub Form_Load()
    Dim datoteka As String
    
    Adodc1.Visible = False
    
    'Text1.Text = "SELECT * FROM Proba WHERE RedBr = 3"
    Text1.Text = "SELECT * FROM Proba"
    
    Adodc1.RecordSource = Text1.Text
    
    datoteka = "C:\Proba\db1.mdb"
    
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & datoteka & ";Persist Security Info=False"
    
    Set Text1.DataSource = Adodc1
    Set DataGrid1.DataSource = Adodc1
End Sub

rgdrajko
Prikačeni fajlovi
 
Odgovor na temu

101kerber
Zagreb

Član broj: 81061
Poruke: 47
*.adsl.net.t-com.hr.



Profil

icon Re: SQL upiti u Visual Basicu 6.004.08.2007. u 10:18 - pre 202 meseci
Meni ovaj zadnji primjer od rgdrajka radi točno jednako kao i onih 3 linije koda. Znači opet ne mogu brisati iz baze, i opet mi javlja istu grešku.

Dali kod vas taj primjer radi tj. dali možete preko toga brisati?
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: SQL upiti u Visual Basicu 6.009.08.2007. u 15:07 - pre 202 meseci
Evo @101kerber prouci ovaj primjer koji fino radi. U referencama ukljuci Microsoft ActiveX data object 2.5 library, stavi jedan textBox i dugmice koji se koriste u kodu.

Code:

Option Explicit

Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Konekcija As String
Dim SQLupit As String

Private Sub cmdObrisi_Click()
    If MsgBox("Da li stvarno zelite obrisati?        ", vbInformation + vbYesNo, "Brisanje") = vbYes Then
        rs.Delete
        rs.MoveNext
    End If
End Sub

Private Sub cmdSvi_Click()
    SQLupit = "select*from proba"
    Call NoviUpit
End Sub

Private Sub cmdUradi_Click()
    SQLupit = txtSQL
    Call NoviUpit
End Sub

Private Sub Form_Load()

    Set cnn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    
    Konekcija = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
    cnn.Open Konekcija
    rs.Open "select*from Proba", cnn, adOpenDynamic, adLockOptimistic
    
    Set DataGrid1.DataSource = rs

End Sub

Public Sub NoviUpit()
    rs.Close
    Set rs = Nothing
    
    Set rs = New ADODB.Recordset
    
    rs.CursorLocation = adUseClient
    
    rs.Open SQLupit, cnn, adOpenDynamic, adLockOptimistic
    Set DataGrid1.DataSource = rs
End Sub



@rgdrajko ovo sto si napisao nema veze sa problemom @101kerber. Ne vjerujem da ne znas, a cudi me sto neces da pomognes.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Prikačeni fajlovi
 
Odgovor na temu

vipp

Član broj: 21093
Poruke: 113
*.static.sbb.co.yu.



+2 Profil

icon Re: SQL upiti u Visual Basicu 6.010.08.2007. u 09:34 - pre 202 meseci
Evo jedan primer pa nešto iskombinuj:


Dim cnn As ADODB.Connection
Dim rss As ADODB.Recordset
Dim upit As String
Dim cs As String
.
.
.
.
.
.itd.

Nakon uspostavljanja konekcije:

Upit="DELETE/UPDATE......."
Call akcioni(upit)

Sabrutina koja izvršava akcione upite:

Public Sub akcioni(ByVal upit As String)
'funkcija koja se konektuje na bazu i radi neku akciju
'akcija moze biti UPDATE, INSERT INTO ili DELETE
'vraca TRUE ako je akcija uspela, a FALSE ako nije uspela

Dim cnn As ADODB.Connection

Set cnn = New ADODB.Connection
cnn.ConnectionString = cs
cnn.Open

cnn.Execute upit
cnn.Close
Set cnn = Nothing

End Sub
 
Odgovor na temu

[es] :: Visual Basic 6 :: SQL upiti u Visual Basicu 6.0

[ Pregleda: 3131 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.