Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju ?

VB6
  • 16 odgovora
  • 3.869 pregleda

Najnovija ↓

Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju ? 07.03.2008. u 15:00 · pre 227 meseci #1
Cao,

Ovaj kod koristim da upisem redan u bazu u accessu uz pomoc VB:
Code:

        Dim adoCom As New ADODB.Command
        adoCom.ActiveConnection = Adodc1.ConnectionString

         adoCom.CommandText = "INSERT INTO svi_brojevi(Naziv, Broj, Kartica)" & _
                          "VALUES('" _
                          & naziv & "','" _
                          & broj & "','" _
                          & kartica & _
                          "')"
         adoCom.Execute



i ovo radi,
ali sada bih htio da provjerim da li vec imam taj broj u bazi ako imam da ga onda ne unes, pokusao sam sa:

Code:

    Dim rezultat As ADODB.recordset
    Set rezultat = New ADODB.recordset

  

             adoCom.CommandText = "INSERT INTO svi_brojevi(Naziv, Broj, Kartica)" & _
                          "VALUES('" _
                          & naziv & "','" _
                          & broj & "','" _
                          & kartica & _
                          "')" 
      Set rezultat = adoCom.Execute

    If rezultat.BOF = True Then
       MsgBox "NEMA"
    Else
       MsgBox "IMA"
    End If




ali ne radi...svaki put mi izbavi msgbox sa IMA iako ga uopce nema u tablici

da li mi netko moze pomoci

HVALA...
Re: Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju ? 07.03.2008. u 15:28 · pre 227 meseci #2
pokusaj prvo neki ovakav upit:
Code:

"SELECT COUNT(*) AS exists FROM svi_brojevi WHERE Broj = " & Cstr(broj)

pa onda ako ti je 'exists' > 0 vec imas taj broj a ako je 0 onda ga nemas..
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju ? 08.03.2008. u 10:53 · pre 227 meseci #4
Zameni onaj tvoj red
Code:

CommandText = "SELECT COUNT(*) AS exists FROM svi_brojevi WHERE svi_brojevi.Broj=""0995499996"""

sa sledecim:
Code:

adoCom.CommandText = "SELECT COUNT(*) AS Postoji FROM svi_brojevi WHERE svi_brojevi.Broj='" & broj & "'"


Bile su dve greske:

1. Alijas ne moze biti exists jer je to rezervisana rec.
2. Nacin na koji navodis tekstualne izraze nije bio dobar, moras koristiti apostrofe.

Dalje, moras ispitati vrednost od "Postoji" a ne BOF i EOF.

Umesto
Code:

If rezultat.BOF = True Then
   MsgBox "DDDD"
Else
   MsgBox "VVVV"
End If

treba
Code:

If rezultat("Postoji") > 0 Then
   MsgBox "Ima"
Else
   MsgBox "Nema"
End If


Ajd polako ;)
Re: Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju 08.03.2008. u 13:38 · pre 227 meseci #7
Stavis u [] :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju 09.03.2008. u 11:34 · pre 227 meseci #10
Ok, hvala "goranvuc" proba sam i to radi bez problema..

...postoji jos jedna stvar koju bih htio uciniti ali ne znam kako...

... zelio bih izvuci naziv i broj od svih recorda(0..N) kojima je "Ne_uzmi" polje postavljeno na "No"...

To sam pokusao sa sljedecim kodom, naravno nije mi uspijelo jer inace ne bih pitao:

Code:

Private Sub cmdGenerirajDatoteku_Click()
    Dim mFileSysObj As New FileSystemObject  ' General declaration
    Dim mFile As File                        ' General declaration
    Dim mTxtStream As TextStream             ' General declaration
    
    Dim broj As String
    Dim naziv As String
    
    Dim rezultat As ADODB.Recordset
    Set rezultat = New ADODB.Recordset
    
    Dim adoCom As New ADODB.Command
    adoCom.ActiveConnection = Adodc1.ConnectionString
    'http://msdn2.microsoft.com/en-us/library/ms681504(VS.85).aspx
    
    CommonDialog1.ShowSave
    
    ' Create and Get the file
    mFileSysObj.CreateTextFile (CommonDialog1.FileName)
    Set mFile = mFileSysObj.GetFile(CommonDialog1.FileName)
    
    
    ' Open a text stream for reading from a file
    Set mTxtStream = mFile.OpenAsTextStream(ForWriting)
    
    adoCom.CommandText = "SELECT Naziv, Broj AS naziv, broj FROM svi_brojevi WHERE svi_brojevi.Ne_uzmi=No"
    MsgBox adoCom.CommandText
         
    Set rezultat = adoCom.Execute
    'http://www.freevbcode.com/ShowCode.Asp?ID=3687
    
    rezultat.MoveFirst
    If rezultat.BOF = True Then
        MsgBox "NA POCETKU SAM"
    Else
        MsgBox "NISAM NA POCETKU"
    End If
    
    MsgBox rezultat("naziv")
    MsgBox rezultat("broj")
    'rezultat.MovePrevious
    MsgBox rezultat("naziv")
    MsgBox rezultat("broj")
    
    Exit Sub
    
    'do until rezultat.MoveNext
    'Loop
    
    Adodc1.Refresh
End Sub


ja shvacam da ja bas nemam dobro razumjevaje ovoga ADODB.Recordset-a tj., kao se on treba koristiti i sto se moze uciniti sa njim, pa ko znas neki link gdje je to dobro objasnjeno(sa malo naprednijim primjerima) molim te da ga staviš

P.S. stavio sam cijeli projek na http://www.mediafire.com/?uwy1gyxgitp pa ako netko zeli moze baciti pogled...

HVALA svima...
Re: Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju ? 09.03.2008. u 16:56 · pre 227 meseci #11
da prebrojis broj redova koristi COUNT(*) u sql upitu, znaci ovako nesto:
Code:

SELECT Naziv, broj, COUNT(*) AS broj_redova FROM svi_brojevi WHERE svi_brojevi.Ne_uzmi=No
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Kako u VB6 sa ADO provjeriti da li vec postoji red u tablici sa oređenim stringom u nekom polju 10.03.2008. u 09:04 · pre 227 meseci
izmenjeno 1 put, poslednji put Aleksandar Ružičić 11.03.2008. u 21:07
  1. Aleksandar Ružičić11.03.2008. u 21:07zapis iz teksta poruke
#12
Da ovo shvacam...

ali ja zelim dobiti listu(vector- sto vec) naziva i bojeva kojima je Ne_uzmi=No, tako da onda te nazive i borjeve uopisem u datoteku(ovo sam upisom u datoteku znam), ali ne znam kako uzeti sve nazive i brojeve kojima je Ne_uzmi=No


[moderator: izbrisan nepotreban citat]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme