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


Generics fraga

Postades av 2008-08-28 16:58:35 - Magnus Bergström, i forum c# (c-sharp), Tråden har 4 Kommentarer och lästs av 859 personer

Har skapat en liten metod for att gora mina oandligt manga lasningar fran DB lite renare och snyggare:

private T PopulateField<T>(SqlDataReader Reader, String Name)
{
       if (!Reader.IsDBNull(Reader.GetOrdinal(Name)))
       {
            return (T)Reader[Name];
        }
	return default(T);
}


For att anvanda denna metod skriver jag foljande:

string name = PopulateField<string>(results, "Name");
DateTime birthday = PopulateField<DateTime>(results, "Birthday");


Enkelt och rent.. (results ar min datareader och strangen jag skickar in ar namnet pa kolumnen)

Problemet kom nar jag ville ladda en variabel av typ char. Da kastas exceptions for den implicita omvandlingen inte ar tillaten, sa jag satsade pa att losa det pa foljande satt:

private T PopulateField<T>(SqlDataReader Reader, String Name)
{
       if (!Reader.IsDBNull(Reader.GetOrdinal(Name)))
       {
            if (typeof(T) == typeof(char))
                return (T)(object)char.Parse(Reader[Name].ToString());
            return (T)Reader[Name];
        }
	return default(T);
}


Detta ar givetvis langsammare, har gjort lite tester och man tappar en del tid. Inga enorma mangder dock, man marker mest av det vid 10 miljoner+ iterationer.

Ar jag helt ute och cyklar? Finns det snyggare och battre satt att losa detta pa?

mvh


Svara

Sv: Generics fraga

Postades av 2008-08-28 18:49:23 - Andreas Öhlund

Jag hade nog övervägt att använda en O/R-mapper, ex:

NHibernate (Open Source)

http://en.wikipedia.org/wiki/NHibernate

Entity Framework (MS motsvarighet, finns med i .Net 3.5 sp1)

http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx


Svara

Sv: Generics fraga

Postades av 2008-08-29 09:23:24 - Roger Alsing

Har du verkligen ett scenario med 10 milj läsningar i din app där någon blir berörd av tidsåtgången?

Eller är det ett konstruerat problem?


Svara

Sv: Generics fraga

Postades av 2008-08-29 13:14:25 - Anders Ivner

Jag tror att du kan använda GetObject() i stället för GetOrdinal(). Då får du ett boxat värde som har rätt typ.

Jag har gjort något liknande och det funkar för alla datatyper utom Nullable<enum>. (Se http://andersivner.blogspot.com/2008/05/nullable-enums.html)

/Anders


Svara

Nyligen

  • 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
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 707
27 958
271 751
858
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