VinnarenMedlem sedan sep. 2005833 inlägg har följande
CREATE PROCEDURE [dbo].GetBloggPostByBloggIdAndSearchText
(
@bloggID int,
@searchText varchar(50)
)
AS
BEGIN
SET NOCOUNT ON;
SELECT p.postID,
ISNULL(p.cID, 0) AS 'cID',
p.Header,
p.Text, p.bID,
ISNULL(c.Name, 'Saknas') AS 'categoryName',
CONVERT(VARCHAR(17), p.Date, 113) AS date,
ISNULL(u.UserName, 'Avregistrerad') AS 'UserName'
FROM post AS p
LEFT OUTER JOIN category AS c
ON p.cID = c.cID
LEFT OUTER JOIN aspnet_Users AS u
ON p.UserId = u.UserId
WHERE p.bID = @bloggID
AND p.Header + ' ' + p.Text Like '%@searchText%'
ORDER BY p.Date DESC
END
Får felmeddelandet:
The data types text and varchar are incompatible in the add operator.
på:
AND p.Header + ' ' + p.Text Like '%@searchText%'
p.Header är i databasen varchar medans p.Text är text. Har provat med castat om dem till text men får samma felmeddelande.
Någon som vet hur man kan lösa det??
Tacksam för all hjälp :stud
TravoniMedlem sedan okt. 20041 556 inlägg Har du testat att casta om till varchar(stort_tal)?
Eller varför inte:
... AND (p.Header Like '%@searchText%' OR p.Text Like '%@searchText%')
VinnarenMedlem sedan sep. 2005833 inlägg tack, märkte nu att det måste vara @searchText som är fel. Får inte ut något felmeddelande men häller inget resultat när jag kör den med
GetBloggPostByBloggIdAndSearchText 9, '2'
men tar jag bort @searchText o "hårdkodar" in 2 så får jag fram resultatet jag förväntar mig.
Hur löser man detta??
tacksam för all hjälp :stud
Om du kör sql 2005 så ändra datatypen text till varchar(MAX).
varchar(MAX) är ny från 2005.
text är en gammal klumpig datatyp! :)
VinnarenMedlem sedan sep. 2005833 inlägg tack för tipset, nu e bägge varchar. Men jag får inga träffar iaf :r
Har provat med:
GetBloggPostByBloggIdAndSearchText 9, 't'
på följande:
WHERE p.bID = @bloggID
AND p.Header + ' ' + p.Text Like '%@searchText%'
WHERE p.bID = 9
AND p.Header + ' ' + p.Text Like '%@searchText%'
WHERE p.bID = @bloggID
AND p.Header + ' ' + p.Text Like '%t%'
men det är bara
WHERE p.bID = 9
AND p.Header + ' ' + p.Text Like '%t%'
som fungerar :( får inget felmeddelande, utan det kommer inte ut någon rad.
Vad kan det vara för fel tro? x(
Du har visst skrivit din parameter lite tokigt!
... Like '%' + @searchText + '%'
Funkar nog bättre! :)
VinnarenMedlem sedan sep. 2005833 inlägg tack, tusen tack doggelito, nu funkar den perfekt :bire