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


Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 01:59:28 - Jimmy Staff, i forum sql-server/msde, Tråden har 6 Kommentarer och lästs av 684 personer

Hej alla glada... Försöker bygga en smart sökfunktion och behöver ha med order by (som kan vara olika värden i SP:n).

Detta fungerar fint tillsammans med mitt ASP-script... :
CREATE PROCEDURE dms.adv_search @param nvarchar(2000), @searchtext nvarchar(255) as
SELECT * FROM cmdFiles WHERE CHARINDEX(',' + CAST(folderid AS VARCHAR) + ',', ',' + @param + ',') > 0 AND filename like '%' + @searchtext + '%' ORDER BY filename
GO

Detta fungerar tyvärr inte, den klagar på något med att man inte kan skicka in värden i Order By :
CREATE PROCEDURE dms.adv_search @param nvarchar(2000), @searchtext nvarchar(255), @sortering nvarchar(255) as
SELECT * FROM cmdFiles WHERE CHARINDEX(',' + CAST(folderid AS VARCHAR) + ',', ',' + @param + ',') > 0 AND filename like '%' + @searchtext + '%' ORDER BY + @sortering
GO

Hlp plz!


Svara

Sv: Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 02:19:25 - Jimmy Staff

Detta fungerar tyvärr inte heller :

CREATE PROCEDURE dms.adv_search2 @param nvarchar(2000), @searchtext nvarchar(255), @searchtext2 nvarchar(255), @searchtype nvarchar(255) as
SELECT * FROM cmdFiles WHERE CHARINDEX(',' + CAST(folderid AS VARCHAR) + ',', ',' + @param + ',') > 0 AND (filename like '%' + @searchtext + '%' + @searchtype + filename like '%' + @searchtext2 + '%') ORDER BY filename
GO


Jag vill använda :
@searchtype
för att ha olika söktyper, tex AND, OR, NOT


Svara

Sv:Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 07:49:11 - Göran Lindstedt

Testa att göra allt till en färdig sträng först genom att lägga det i en variabel.

CREATE PROCEDURE dms.adv_search2 @param nvarchar(2000), @searchtext nvarchar(255), @searchtext2 nvarchar(255), @searchtype nvarchar(255) as
Declare @SQL as VarChar(8000) --är max längden på sträng

Set @SQL = 'SELECT * FROM cmdFiles WHERE CHARINDEX(,' + CAST(folderid AS VARCHAR) + ',, ,' + @param + ',) > 0 AND (filename like %' + @searchtext + '%' + @searchtype + 'filename like %' + @searchtext2 + '%) ORDER BY filename'

Exec (@SQL)

GO

Vet inte om jag fick alla fnuttar på rätt ställe men principen är iallafall att du i strängen bygger en färdig SQL sats som om du skrev den för hand men dynamiskt med hjälp av variabler.

mvh
Göran L


Svara

Sv: Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 08:13:18 - Mikael Wedham

Varför skapar du en procedur dynamiskt?

Smartare att köra frågan direkt...

/micke


Svara

Sv:Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 09:02:26 - Jimmy Staff

Vet inte.. det fungerar :)


Svara

Sv: Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 10:14:49 - Mikael Wedham

Det funkar att sitta på växelspaken och växla med r*ven också :)

(har inte testat, men det verkar inte så bra det heller...)

/micke


Svara

Sv: Problem med Order By i Lagrad procedur.

Postades av 2005-04-08 10:18:58 - Mikael Wedham

Kolla på Görans inlägg, och försök att bygga denna sträng i din klient istället. Proceduren, som den ser ut, blir ändå varken optimerad eller "säker" om man jämför med att köra det i klienten. Du har troligtvis större chanser att få dynamisk SQL att bli bra/rätt från en klient, när det är den typen av dynamik du vill åt.
Vill du ändå ha en proc, så bör Görans exempel funka ( har inte heller kollat fnuttarna )

/micke


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
489
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