/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Hvordan pokker klare jeg det
Fra : Kåre Rasmussen


Dato : 13-04-04 12:13

Hej Gruppe

Jeg sidder lige og arbejder med en database i visual basic. Jeg kan fint
connecte til den og hente et resultatsæt ud.
Men når feltet (x1) er tomt, så se det ud som om, at sTemp bliver sat til
Null og så opstår der en fejl
Koden ser således ud

On Error GoTo ErrHandle
Dim pAdoConn As ADODB.Connection
Dim pAdoRS As ADODB.Recordset
Dim sSQLstr As String
Dim sTemp as String
Dim iCounter as Integer
Dim sConnString As String

Set pAdoConn = New ADODB.Connection
Set pAdoRS = New ADODB.Recordset

sConnString = "DSN=geogis;" & _
"Uid=" & frmSetup.txtDBBrugerNavn.Text & ";" & _
"Pwd=" & frmSetup.txtDBKodeord.Text & ";"

pAdoConn.ConnectionString = sConnString

pAdoConn.Open

sSQLstr = frmSetup.txtSQL.Text

pAdoRS.Open sSQLstr, pAdoConn, adOpenDynamic, adLockOptimistic

iCounter = 0
Do Until pAdoRS.EOF

sTemp = pAdoRS!x1

If (len(sTemp) = 0 ) Then
MsgBox "sTemp er tom", vbOKOnly
iCounter = iCounter + 1
pAdoRS.MoveNext
Else
Loop

pAdoConn.Close
Set pAdoRS = Nothing
msgbox "Summen af tomme felter: " & iCounter, vbOkOnly
ErrHandle:
pAdoConn.Close
MsgBox "!!Fejl: " & Err.Description & ":" & Err.Number & _
"sTemp: " & sTemp, vbCritical

End Function

Håber der er en eller anden, som kan hjælpe



 
 
Anton (13-04-2004)
Kommentar
Fra : Anton


Dato : 13-04-04 12:43

"Kåre Rasmussen" <none@none.dk> skrev i en meddelelse
news:407bcafa$0$315$edfadb0f@dread16.news.tele.dk...
> Hej Gruppe
>
> Jeg sidder lige og arbejder med en database i visual basic. Jeg kan fint
> connecte til den og hente et resultatsæt ud.
> Men når feltet (x1) er tomt, så se det ud som om, at sTemp bliver sat til
> Null og så opstår der en fejl
> Koden ser således ud
>
> On Error GoTo ErrHandle
> Dim pAdoConn As ADODB.Connection
> Dim pAdoRS As ADODB.Recordset
> Dim sSQLstr As String
> Dim sTemp as String
> Dim iCounter as Integer
> Dim sConnString As String
>
> Set pAdoConn = New ADODB.Connection
> Set pAdoRS = New ADODB.Recordset
>
> sConnString = "DSN=geogis;" & _
> "Uid=" & frmSetup.txtDBBrugerNavn.Text & ";" & _
> "Pwd=" & frmSetup.txtDBKodeord.Text & ";"
>
> pAdoConn.ConnectionString = sConnString
>
> pAdoConn.Open
>
> sSQLstr = frmSetup.txtSQL.Text
>
> pAdoRS.Open sSQLstr, pAdoConn, adOpenDynamic, adLockOptimistic
>
> iCounter = 0
> Do Until pAdoRS.EOF
>

Her skal du nok teste hvad x1 er, alá:
If Not IsNull(pAdoRS!x1) Then
sTemp = pAdoRS!x1
Else
sTemp = ""
End If

Du kunne osse "snyde" lidt og tilføje en tom streng uanset hvad, så vil
sTemp aldrig kunne indeholde noget ulovligt.
sTemp = pAdorRS!x1 & ""

> sTemp = pAdoRS!x1
>
> If (len(sTemp) = 0 ) Then
> MsgBox "sTemp er tom", vbOKOnly
> iCounter = iCounter + 1
> pAdoRS.MoveNext
> Else
> Loop
>
> pAdoConn.Close
> Set pAdoRS = Nothing
> msgbox "Summen af tomme felter: " & iCounter, vbOkOnly
> ErrHandle:
> pAdoConn.Close
> MsgBox "!!Fejl: " & Err.Description & ":" & Err.Number & _
> "sTemp: " & sTemp, vbCritical
>
> End Function
>
> Håber der er en eller anden, som kan hjælpe
>
>



Christian R. Larsen (13-04-2004)
Kommentar
Fra : Christian R. Larsen


Dato : 13-04-04 12:14

Kender du funktionen IsNull?

If Isnull(sTemp) then...

Bare et hurtigt gæt på noget, der måske kan hjælpe...


"Kåre Rasmussen" <none@none.dk> skrev i en meddelelse
news:407bcafa$0$315$edfadb0f@dread16.news.tele.dk...
> Hej Gruppe
>
> Jeg sidder lige og arbejder med en database i visual basic. Jeg kan fint
> connecte til den og hente et resultatsæt ud.
> Men når feltet (x1) er tomt, så se det ud som om, at sTemp bliver sat til
> Null og så opstår der en fejl
> Koden ser således ud
>
> On Error GoTo ErrHandle
> Dim pAdoConn As ADODB.Connection
> Dim pAdoRS As ADODB.Recordset
> Dim sSQLstr As String
> Dim sTemp as String
> Dim iCounter as Integer
> Dim sConnString As String
>
> Set pAdoConn = New ADODB.Connection
> Set pAdoRS = New ADODB.Recordset
>
> sConnString = "DSN=geogis;" & _
> "Uid=" & frmSetup.txtDBBrugerNavn.Text & ";" & _
> "Pwd=" & frmSetup.txtDBKodeord.Text & ";"
>
> pAdoConn.ConnectionString = sConnString
>
> pAdoConn.Open
>
> sSQLstr = frmSetup.txtSQL.Text
>
> pAdoRS.Open sSQLstr, pAdoConn, adOpenDynamic, adLockOptimistic
>
> iCounter = 0
> Do Until pAdoRS.EOF
>
> sTemp = pAdoRS!x1
>
> If (len(sTemp) = 0 ) Then
> MsgBox "sTemp er tom", vbOKOnly
> iCounter = iCounter + 1
> pAdoRS.MoveNext
> Else
> Loop
>
> pAdoConn.Close
> Set pAdoRS = Nothing
> msgbox "Summen af tomme felter: " & iCounter, vbOkOnly
> ErrHandle:
> pAdoConn.Close
> MsgBox "!!Fejl: " & Err.Description & ":" & Err.Number & _
> "sTemp: " & sTemp, vbCritical
>
> End Function
>
> Håber der er en eller anden, som kan hjælpe
>
>



Kåre Rasmussen (13-04-2004)
Kommentar
Fra : Kåre Rasmussen


Dato : 13-04-04 13:14


"Christian R. Larsen" <crlarsen@hotmail.com> skrev i en meddelelse
news:c5gjr8$jn4$1@sunsite.dk...
> Kender du funktionen IsNull?
>
> If Isnull(sTemp) then...
>
> Bare et hurtigt gæt på noget, der måske kan hjælpe...
Kanon - virker lige efter planen.

Tak for hjælpen
Kåre



Kåre Rasmussen (13-04-2004)
Kommentar
Fra : Kåre Rasmussen


Dato : 13-04-04 13:22


"Christian R. Larsen" <crlarsen@hotmail.com> skrev i en meddelelse
news:c5gjr8$jn4$1@sunsite.dk...
> Kender du funktionen IsNull?
>
> If Isnull(sTemp) then...
>
> Bare et hurtigt gæt på noget, der måske kan hjælpe...
>
Håber du kan klare et spørgsmål mere

Når jeg står med pAdoRS efter jeg har kørt min SQL-sætning, er det så muligt
at se, hvor mange records den indeholder.
Jeg troede selv, at det var recordcount, men den er altid -1.

Håber du (eller en anden) kan hjælpe

På forhånd tak
Kåre



Christian R. Larsen (13-04-2004)
Kommentar
Fra : Christian R. Larsen


Dato : 13-04-04 14:03

"Kåre Rasmussen" <none@none.dk> skrev i en meddelelse
news:407bdb36$0$243$edfadb0f@dread16.news.tele.dk...
> > Bare et hurtigt gæt på noget, der måske kan hjælpe...
> >
> Håber du kan klare et spørgsmål mere
>
> Når jeg står med pAdoRS efter jeg har kørt min SQL-sætning, er det så
muligt
> at se, hvor mange records den indeholder.
> Jeg troede selv, at det var recordcount, men den er altid -1.

Det afhænger af recordsettets type og cursorens type, om du kan tælle
antallet af records, men nogle gange kan det løses med følgende:

pAdoRS.movefirst
pAdoRS.movelast

- hvorefter recordcount indeholder den korrekte værdi.

Ellers må du bare lave et loop, hvor du tæller antallet af poster. Selvom
det kan virke sært ift. arrays og andet, er det faktisk i mange tilfælde den
eneste løsning:

c=0
do until pAdoRS.eof
pAdoRS.movenext
c=c+1
loop

c indeholder nu antallet af records.




Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31962
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste