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


Forsätta sträng över flera rader?

Postades av 2003-08-29 11:15:07 - Daniel Åsberg, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 506 personer

Finns de något smidagre sätt än vad jag brukar använda då jag vill att en sträng(oftast sql) ska kopplas ihop över flera rader.

Så här brukar jag göra:
<code>
"SELECT " & _
"kolumn " & _
"FROM " & _
"tabell "
</code>

Vill gärna slippa de flesta ", & och _ tecknena.


Svara

Sv: Forsätta sträng över flera rader?

Postades av 2003-08-29 11:30:16 - Niklas Jansson

Ska du ha en sträng över flera rader måste du använda den principen, men den strängen du skrev kan ju naturligtvis ligga på en rad...
"SELECT kolumn FROM tabell "

Vad är det som är så osmidigt med den kombinationen?

Sett ur en kompilator/interpretators synvinkel är det ett helt naturligt krav. Har du en lång sträng måste du antingen skriva ut hela eller sammanfoga flera mindre bitar i rad.

Basic-språken har ingen satsseparator (som t.ex. C och C++), så för att få ett uttryck att ligga på flera rader måste en ny symbol infogas, i detta fall "_" . Kombinerat blir detta det du skriver.


Svara

Sv: Forsätta sträng över flera rader?

Postades av 2003-08-29 12:53:19 - Andreas Hillqvist

Jag brukar bryta rad vid satserna:
<code>
strSQL = "SELECT Tabell1.kolumn1, Tabell1.kolumn2, Tabell1.kolumn3, Tabell1.kolumn4, Tabell2.Kolumn1, Tabell2.Kolumn2" & vbCrLf & _
"FROM Tabell1 LEFT JOIN Tabell2 ON Tabell1.kolumn1 = Tabell2.Kolumn2" & vbCrLf & _
"ORDER BY Tabell1.kolumn1"

</code>


Svara

Sv: Forsätta sträng över flera rader?

Postades av 2003-08-29 13:32:55 - Daniel Åsberg

Niklas: Jo mitt exempel ovan fungerar ju utmärkt på en rad.
Men min fråga kom upp i.o.m denna kod:

<code>
SELECTEN = "SELECT DISTINCT " & _
"p.compid " & _
",p.persid " & _
",c.Name1 " & _
",p.firstname " & _
",p.lastname " & _
",c.phone " & _
",c.town " & _
",ct.emp " & _
"FROM " & _
"Company c " & _
",Contract ct " & _
",Person p " & _
",Person_act pact " & _
"WHERE " & _
"p.compid = c.compid " & _
"AND c.compid = ct.compid (+) " & _
"AND p.persid = pact.persid " & _
"AND pact.status = '6090' " & _
"AND ( pact.actcode = '6111' " & _
"OR pact.actcode = '6121' " & _
"OR pact.actcode = '6131' " & _
"OR pact.actcode = '6211' " & _
"OR pact.actcode = '6221' " & _
"OR pact.actcode = '6231' " & _
"OR pact.actcode = '6311' " & _
"OR pact.actcode = '6321' " & _
"OR pact.actcode = '6331' " & _
") " & _
"AND NOT EXISTS ( " & _
"SELECT " & _
"p.compid " & _
"FROM " & _
"Contract ct " & _
",Contract_item cti " & _
"WHERE " & _
"ct.contrid = cti.contrid " & _
"AND ct.persid = p.persid " & _
"AND ( cti.prodcode = '6110' " & _
"OR cti.prodcode = '6120' " & _
"OR cti.prodcode = '6130' " & _
"OR cti.prodcode = '6210' " & _
"OR cti.prodcode = '6220' " & _
"OR cti.prodcode = '6230' " & _
"OR cti.prodcode = '6310' " & _
"OR cti.prodcode = '6320' " & _
"OR cti.prodcode = '6330' " & _
") " & _
") "
</code>

Man skulle väl kanske kunna skriva den i någon stil med Andreas förslag. Men de skulle nog bli lite rörigt ändå då jag ogillar då rader går utanför skärmen och en horizontal scroll dyker upp.

Hur skulle ni skriva koden ovan förresten?


Svara

Sv: Forsätta sträng över flera rader?

Postades av 2003-08-29 15:53:05 - Andreas Hillqvist

JAg skulle skrivit den något sådant här:
<code>
strSQL = "SELECT DISTINCT p.compid, p.persid, c.Name1, p.firstname, p.lastname, c.phone, c.town, ct.emp" & vbCrLf & _
"FROM Person p LEFT JOIN" & vbCrLf & _
" Company c ON p.compid = c.compid LEFT OUTER JOIN" & vbCrLf & _
" Contract ct ON c.compid = ct.compid LEFT OUTER JOIN" & vbCrLf & _
" Person_act pact ON p.persid = pact.persid" & vbCrLf & _
"WHERE pact.status = '6090' AND (pact.actcode IN ('6111', '6121', '6131', '6211', '6221', '6231', '6311', '6321', '6331') AND " & vbCrLf & _
" p.persid NOT IN (SELECT ct.persid" & vbCrLf & _
" FROM Contract ct INNER JOIN Contract_item cti ON ct.contrid = cti.contrid" & vbCrLf & _
" WHERE cti.prodcode IN ('6110', '6120', '6130', '6210', '6220', '6230', '6310', '6320', '6330')) "
</code>
Vet inte om det ger samma resultat som tidigare. Har skrivit om den lite.


Svara

Sv: Forsätta sträng över flera rader?

Postades av 2003-08-31 08:33:44 - Pelle Johansson

Den där satsen smäller (petitesser iofs). Det är väldigt viktigt att man antingen i början eller slutet av strängen lägger in ett mellanslag så inte två ord går ihop:

" Person_act pact ON p.persid = pact.persid*******" & vbCrLf & _
"WHERE pact.status = '6090' AND (pact.actcode IN ('6

Stjärnorna markerar att ett mellanslag skall in.


Svara

Sv: Forsätta sträng över flera rader?

Postades av 2003-08-31 14:02:36 - Andreas Hillqvist

Om man lägger in radbryning, som jag gör i mitt exempel så bryter man orden. Man får dessutom ut värdet som det står i koden.


Svara

Nyligen

  • 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
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 795
27 960
271 761
2 413
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