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 - spara rad

Postades av 2006-11-28 16:34:38 - Ola Ljungcrantz, i forum vb.net, Tråden har 5 Kommentarer och lästs av 777 personer

Hur gör man för att spara en rad ur ett DataSet i en text sträng med en TAB mellan varje "kolumn". Jag vet hur jag ska göra genom att ta kolumn för kolumn men efterhand som antalet kolumner ökar måste man in och ändra i koden. Det skulle vara mycket enklare om man kunde spara en rad, oberoende av antalet kolumner.
Någon som vet hur man gör?

//Ola


Svara

Sv: DataSet - spara rad

Postades av 2006-11-28 21:12:23 - Johan Djupmarker

Vet inte om det finns någon färdig funktion för detta. Jag har löst det genom en funktion som loopar igenom alla kolumner och lägger innehållet i en sträng.

/Johan


Svara

Sv: DataSet - spara rad

Postades av 2006-11-29 00:05:39 - Lars Gottfridsson

Jag tror dessvärre att det kan bli svårt att få raka kolumner med tab, om fälten (kolumnerna i posten/raden) är av diffrentierand längd. T. ex. kan fältet "Borås" innebära att TAB:en blir 1 tkn
långt, samt att nästa rad's "Rågsved" tvingar fram TAB:en till nästa stop.

Det enda raka är nog att bygga strängen fält för fält och justera med mellanslag.




Svara

Sv:DataSet - spara rad

Postades av 2006-11-29 08:47:43 - Marcus Gus

<b>Det enda raka är nog att bygga strängen fält för fält och justera med mellanslag.</b>

Varför kulle man vilja göra det? Som jag tolkar första inlägget så står det inget att det skall läsas av någon person, utan det skulle tex kunna gälla export till fil för inläsning av ett annat system. Skall man börja justera det man exporterar med längd så måste man ju skriva ut så många tecken om varje cell kan innehålla. Värdet från en cell som innehåller en sträng skulle således bli ~2 miljarder tecken lång, varav de första fem innehåller "Borås" och resten blanksteg.

Ett sätt att lösa det är att loopa igenom alla värden i en kolumn och se hur många tecken den innehåller som max innan man skrivet ut det, men inte heller det är bra eftersom "MMMMMM" och "iiiiii" tar upp olika mycket plats beroende på vad filen visas i (i word tex så tar "iiiiii" upp lika mycket plats som "MM" vilket gör att allt förskjuts).

Vill man istället skriva ut det till en sträng så kan man använda detta (snott från nätet, lämnar ingen garanti för attd et fubngerar rakt av ;-)):
<code>
string rowString = ""
foreach(DataRow x in Datatable.Rows)
{
string tab = "";
for(int y = 0; y < Datatable.Columns.Count; y++)
{
rowString += tab + x[y].ToString();
tab = "\t";
}
rowString += Enviroment.Newline;
}
</code>


För att läsa in en fil sedan
<code>
FileStream fil = File.OpenRead("c:\\temp.txt");

using (StreamReader strReader = new StreamReader(fil))
{

while (true)
{
string aLine = strReader.ReadLine();
if (aLine != null)
{
string[] temp = aLine.Split('\t');
//temp innehåller varje kolumn
}
else
break;
}
}
</code>

Notera gärna att detta kommer att misslyckas ifall värdet i en cell innehåller ett tabtecken...


Svara

Sv: DataSet - spara rad

Postades av 2006-11-29 10:33:08 - Lars Gottfridsson

Nej Marcus,
jag vet inte heller vad Ola ska göra med sin sträng!
Min tolkning var att den ska användas i nån typ av rad-baserad presentation.
Vi kanske ska kolla med Ola?

till Ola:
fråga 1, menar du inte att raderna i datasetet ökar efterhand?
fråga 2, vad ska du göra med strängen, och innehåller den data från mer än 1 rad?

tjosan systrar!


Svara

Sv:DataSet - spara rad

Postades av 2006-11-30 15:35:33 - Ola Ljungcrantz

Roligt att se att ni är så intresserade att hjälpa till.
Det är så att mitt DataSet innehåller flera hundra rader och innehållet förändras hela tiden. För att jag i efterhand ska kunna analysera dessa förändringar vill jag i vissa lägen spara ner en hel rad till en textfil. Har man då en TAB mellan varje info. kan man ju t ex öppna denna fil i Excel. Så ligger det till. Har för mig att jag någon gång sett en lösning på detta men vet inte var och är inte säker på det i och för sig….
Att loopa igenom blir ju en fungerande lösning som borde vara helt OK, så tack för hjälpen.

//Ola


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 725
27 958
271 751
325
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