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


dataset vs dataview

Postades av 2004-11-23 12:51:52 - Hubert Månsson, i forum visual studio.NET IDE, Tråden har 12 Kommentarer och lästs av 884 personer

hej!

Jag använder datasets som databärare mellan lagren i min app. Men, jag skickar aldrig tillbaka dataseteten med uppdaterade poster utan använder dem bara för att visa data i griddar o.s.v. När data skall uppdateras skapar jag sql-satser som insertas/uppdaterar. Så datasetet används bara för att visa data. Vore det inte bättre att använda någon annan databärare genom applikationens lager som tar lite mindre minne i anspråk, äv dat dataset gör? Någon som vet?

mvh
Hubbe


Svara

Sv: dataset vs dataview

Postades av 2004-11-23 13:02:03 - Patrik Dahlén

Du kan använda en DataReader istället. Fördelen är att den inte tar upp lika mycket kraft. Det finns dock en nackdel och det är att den håller kopplingen till databasen öppen. Så man bör hämta data, göra vad man ska, och sen stänga readern så snabbt man kan.
Själv så använder jag inte datasets utan klassobjekt, men jag vet att det finns mycket man kan göra med ett dataset. Men om man som i ditt fall inte använder sig av datasettets inbyggda funktioner så är en DataReader bättre.


Svara

Sv: dataset vs dataview

Postades av 2004-11-23 13:27:12 - Hubert Månsson

Men att hålla connections mot databasen öppen låter inte så bra. Frågan är hur mycket minne jag sparar på att använda datareader i så fall? Applikationen använder en Access-databas och ansluter med OLEDB. Som det är nu stänger jag alla connections redan i data access lagret direkt efter jag hämtat ut mitt dataset.


Svara

Sv: dataset vs dataview

Postades av 2004-11-23 13:36:14 - Patrik Dahlén

Jo, det är som sagt nackdelen och det blir kanske ytterligare nackdel i och med att du kör Access.
Men gör ett par tester och prova om det blir någon skillnad. En DataReader är så pass mycket lättare än ett DataSet att det kanske lönar sig ändå. Mycket beror på datamängden hur länge readern behöver vara öppen.


Svara

Sv: dataset vs dataview

Postades av 2004-11-23 15:51:29 - Andreas Håkansson

Om du inte behöver informationen för en längre tid, t.ex mer än att databinda till griddar mm, så hade jag gått på Patriks linje med att använda en <b>DataReader</b>. Sen läste jag en sak som oroar mig lite.

<b>När data skall uppdateras skapar jag sql-satser som insertas/uppdaterar</b>

Jag tolkar detta som att du bygger ihop en SQL sträng som du sedan exekverar, stämmer detta? Om detta är fallet så rekommonderar jag sig att använda <b>Parameters</b> på ditt <b>OleDbCommand</b> objekt. Där stoppar du in <b>OleDbParameter</b> som anger parametarna du behöver, samt vilken typ (och evt storlek) du använder. Detta skyddar mot något som heter SQL-injection.

Du kan enkelt hitta mer om SQL-injection genom att göra en sökning på google. Jag hinner inte leta fram ett par länkar ut min lista just nu. Hittar du inget så hojta till så fixar vi det ikväll när jag inte sitter på jobb.


Svara

Sv: dataset vs dataview

Postades av 2004-11-23 18:43:17 - Hubert Månsson

Ja, jag bygger ihop sql-strängar och exekverar dem med följande vb.net kod:

objExecute = New OleDb.OleDbCommand(strSQL, myConnection)
strErrText = CStr(objExecute.ExecuteNonQuery())

Det är väl så du menar, med sql-satsen som parameter till command-objekt?

/Hubbe


Svara

Sv: dataset vs dataview

Postades av 2004-11-23 22:18:55 - Oskar Johansson

Nope, det är inte det han menar :)

Det han menar är något i stil med detta (kommer inte ihåg syntaxen, har körs dataobjects.net ett tag nu, har lite annan syntax för det här, men det är samma stil på det hela. Du hittar vad klasserna heter, exakt vad metoderna heter etc. i msdn. Det viktiga här är att du kan <b>principen</b>! ;) )

<code>
xCommand c;
c = new xCommand(min_anslutning);
c.CommandText = "insert into min_tabell(första_texten, andra_texten) values(%param1, %param2)";
c.Parameters.Add("param1", min_text_ruta_med_livsfarlig_text.Text);
c.Parameters.Add("apa3", "HEJ!' % \\ //");
c.ExecuteNonQuery();
</code>

Som du ser stoppar du bara in parametrarna i sql-frågan, värdena på parametrarna stoppas in i efterhand. All escapning å justering sköts automagiskt och det är helt säkert! Notera att det <b>inte</b> finns några extra '' runt parametrarna, det sköts också helt automagiskt! :)

Om du alltid ser till att använda det här sättet så behöver du inte ha problem med sk. sql injections, konstiga buggar etc.


Svara

Sv: dataset vs dataview

Postades av 2004-11-24 00:17:36 - Hubert Månsson

Ok, då är jag med. Skall prova detta! Tack allihopa.

mvh
Hubbe


Svara

Sv: dataset vs dataview

Postades av 2004-11-24 13:49:06 - Andreas Håkansson

Hubert,

I korta drag är SQL-injection när en användare lyckas mata in SQL kod som körs. Om du t.ex har en textruta och inte använder SQL parameter och/eller validerar innehållet i textboxen innan du sparar ner det så kan man t.ex skriva in

<info>
Hej ' drop table users --
</info>

så skulle det först köra ditt query med <b>Hej</b> som värde, sen sql uttrycket <b>drop table users --</b> vilket skulle kunna få förrödande konsekvenser. Med hjälp av SQL injection kan man göra <b>MYCKET</b>. En väldigt bra och enkel introduktion är http://www.nextgenss.com/papers/advanced_sql_injection.pdf ta även en titt på http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf


Svara

Sv: dataset vs dataview

Postades av 2004-11-24 23:27:57 - Hubert Månsson

Faktum är att jag har gjort klientsides JavaScript som kollar om användaren matat in DELETE INSERT UPDATE ALTER DROP o.s.v i textfälten. Om någon gör det blir det aja baja, kan man säga.. borde inte det räcka för att stoppa dessa fasoner?

/Hubbe


Svara

Sv: dataset vs dataview

Postades av 2004-11-25 09:00:53 - Andreas Håkansson

Nix. Javascript kan man kringgå hur enkelt som helst. Vad hindrar mig från att skriva en egen html fil på min dator med ett formulär som har din action satt till din sida? Vips sp ha rjag kringgått ditt skydd. Parameters gör så mycket mer. Den kontrollerar inte bara datatypen, den kontrollerar även t.ex längden. Desutom är det väldigt svårt att förutse alla saker som kan matas in. Du skall alltid bygga efter principen att all information som når din kod är elak tills motsatsen har bevisats genom att t.ex validera den med regular expressions och kör den igemom ett paramtriserat anrop.


Svara

Sv: dataset vs dataview

Postades av 2004-11-25 12:09:41 - Hubert Månsson

ahh kan de va så jävliga!? Ok, då får det bli parametrar på command-objektet. Tack!

/Hubbe


Svara

Sv: dataset vs dataview

Postades av 2004-11-25 13:22:21 - Ola Lindfeldt

Hanteringen av inmatning (i webbappl) BÖR vara:
<info>
1. Eventuellt Javascript för att ge användaren hjälp. (jag rekommenderar det)
2. Alltid Datavlidering mot affärsregler (systemets regelverk) i objekt.
3. Alltid Commandobjekt med parametrar,
mot hacking, och för att få korrekt parametersättning, inkl snyggare kod.
Alltså släng ut "SELECT " & a & "," & b & "," ....
Det ser förfärligt ut, IMHO =)
</info>




Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 164
27 952
271 704
1 295
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