Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


If-Sats som känner av om tbl innehåller ett fält m

Postades av 2001-01-15 17:29:00 - Peter Milered, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 913 personer

Måste ställa en , säkert ganska enkel fråga :)
Kan man få en if-sats att kolla om rs överhuvudtaget innehåller ett fält med just det namnet?Annars hoppa över det?

Det gäller vid upptagandet av ett tomt rs, så ska jag spara till rs("active") i vissa tomma rs men inte i andra.


Svara

Sv: If-Sats som känner av om tbl innehåller ett fä

Postades av 2001-01-15 17:34:00 - Johan Idstam

Nej du får loopa igenom alla fält och kolla om det du vill ha finns.

/johan/


Svara

Sv: If-Sats som känner av om tbl innehåller ett fä

Postades av 2001-01-16 12:28:00 - Patrik Löwendahl

Du kan ju göra en inline error check...

dvs

<code>

on error resume next
vTest = rs.fields("kolumn")

if err.number = 3265 then
' Kolumnen fanns inte
elseif err.number <> 0 then
' Annat fel uppstod
else
' Kolumn fanns
end if

</code>


Svara

Loop vs Fields()

Postades av 2001-01-16 16:58:00 - Andreas Hillqvist

Gjorde en liten test:

'##############################################
Option Explicit

Private Sub Form_Load()
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim StartTime As Single
Dim Index As Integer
Dim vReturn As Boolean
Dim vField As ADODB.Field
Set Conn = New ADODB.Connection
Conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=127.0.0.1"

Set rs = New ADODB.Recordset
rs.Open "Employees", Conn, adOpenStatic, adLockReadOnly

StartTime = Timer
For Index = 1 To 10000
vReturn = FieldExist(rs, "NotExist")
Next
Debug.Print "FieldExist(Fält saknas):" & Timer - StartTime

StartTime = Timer
For Index = 1 To 10000
vReturn = FieldExistByErr(rs, "NotExist")
Next
Debug.Print "FieldExistByErr(Fält saknas):" & Timer - StartTime

StartTime = Timer
For Index = 1 To 10000
vReturn = FieldExist(rs, "PhotoPath")
Next
Debug.Print "FieldExist(Fält existerar):" & Timer - StartTime

StartTime = Timer
For Index = 1 To 10000
vReturn = FieldExistByErr(rs, "PhotoPath")
Next
Debug.Print "FieldExistByErr(Fält existerar):" & Timer - StartTime


End Sub

Public Function FieldExist(Recordset As ADODB.Recordset, FieldName As String) As Boolean
Dim fldTemp As ADODB.Field
For Each fldTemp In Recordset.Fields
If fldTemp.Name = FieldName Then
FieldExist = True
Exit For
End If
Next
End Function

Public Function FieldExistByErr(Recordset As ADODB.Recordset, FieldName As String) As Boolean
On Error Resume Next
Dim fldTemp As ADODB.Field
Set fldTemp = Recordset.Fields(FieldName)

If Err.Number = 0 Then
FieldExistByErr = True
End If

End Function
'##############################################

Fick följande resultat:
FieldExist(Fält saknas):2,765625
FieldExistByErr(Fält saknas):6,328125
FieldExist(Fält existerar):2,742188
FieldExistByErr(Fält existerar):0,1601563

Slutsats:
En Loop är snabbare om fältet saknas. Men långsammare om det existerar.
Går ju att ifrågasätta.


Svara

Sv: Loop vs Fields(

Postades av 2001-01-16 17:58:00 - Patrik Löwendahl

kollade precis själv prestandan
det här är vid 100 000 loopar
skillnaden syns rätt bra i de antalen ..

men antar att det beror lite granna på vad som är troligast..

intressant att det tar så lång tid för systemet att få upp ett felmeddelande om fältet inte finns .. Måste ha ngt med sökalgoritmen bakom filed collection att göra ..

FieldExist(Fält saknas):9,875
FieldExistByErr(Fält saknas):19,59766
FieldExist(Fält existerar):10,09766
FieldExistByErr(Fält existerar):0,7304688


Svara

Nyligen

  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 846
27 961
271 763
2 505
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies