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


Lagra matris i databas

Postades av 2004-09-25 13:46:39 - Stefan Brännström, i forum sql-server/msde, Tråden har 8 Kommentarer och lästs av 1065 personer

Jag har i VBScript/ASP skapat en 2-dimensionell array/matris (7,15) där jag lagrar boolska värden (sant/falskt). Jag vill nu kunna lagra denna information i en MS SQL Server 2000 databas på ett smidigt sätt...

Något tips på hur jag skall gå tillväga?


Svara

Sv: Lagra matris i databas

Postades av 2004-09-25 15:05:05 - Patrik Dahlén

En tabell med två kolumner kanske?


Svara

Sv: Lagra matris i databas

Postades av 2004-09-26 00:47:15 - Stefan Brännström

hmmm... skulle behöva minst 4 kolumner i den tabellen, Position i arrayen (x), Position i arrayen (y), Värde(Sant/Falskt), Relation(id)... Låter som ett väldigt klumpigt sätt... borde väl finnas något bättre sätt..???


Svara

Sv: Lagra matris i databas

Postades av 2004-09-26 01:38:51 - Per Persson

Du kan göra om den till en sträng, t.ex. "(true, ..., false); (true, ..., false); ...; (false, ..., true)". Formatet bör naturligtvis vara lätt att parsa.


Svara

Sv: Lagra matris i databas

Postades av 2004-09-26 02:28:39 - Stefan Brännström

Jepp... jag har den nu som en kommaseparerad sträng där jag endast har med de celler som är True, typ:
<code>
"A1,A2,A3,A11,A12,C4,C5" etc
</code>
Får kanske nöja mig med det så länge... ;)


Svara

Sv: Lagra matris i databas

Postades av 2004-09-30 09:01:36 - Per Hultqvist

Som Patrik skriver, räcker det ju med två kolumner, eftersom elementen är booleanska. Du sparar helt enkelt ned koordinatparen för de element som är true. De element som är false sparar du inte i databasen.


Svara

Sv: Lagra matris i databas

Postades av 2004-09-30 10:39:40 - Stefan Brännström

Tja... relationen i den ena kolumnen och koordinaten i den andra... fast jag tycker fortfarande det känns som ett klumpigt sätt.
Informationen i matrisen är relaterad till annan information i databasen... och vissa matriser kan innehålla 5 "sanna" värden och andra matriser kan innehålla 52 eller 78 eller 105... :S

Men jag tänkte mer på om det fanns en datatyp man kunde använda för att spara ner en vektor(matris/array) i SQL?

Verkar som om min stränglösning fortfarande är det smidigaste sättet för mitt problem... och strängen blir ju inte allt för lång heller... så det får duga så länge. ;)


Svara

Sv: Lagra matris i databas

Postades av 2004-09-30 11:07:40 - Martin Adrian

Matriser/vektorer i databaser är alltid knepigt eftersom det strider mot 1:a? normalformen.

Har dock precis som du ofta stött på problemet att man har en vektor med fast antal värden men det finns ingen generell lösning.

Om du behöver kunna hämta informationen om ett visst element genom en fråga så finns det tyvärr inget annat sätt än att lagra position + värde i en tabell.

Med logiska värden kan man naturnligtvis göra som Stefan säger och låt en saknad post betyda falskt.

Om du inte behöver komma åt de enskilda värdena i en fråga kan du spara data som text i en eller annan form. (En gång gjorde jag faktiskt bara uuencode på binära data)

Ett sätt är att använda 0 och 1 så här:
For ii = 0 To 6
For jj = 0 To 14
str = str & -Cint(minarray(ii,jj))
Next
Next

Och för att läsa tillbaka
For ii = 0 To 6
For jj = 0 To 14
minarray(ii,jj) = CBool(mid(str,ii*15+jj+1,1))
Next
Next


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 619
27 953
271 709
590
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