|
[x]
Posted via EE Mobile
|
||
Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again. |
||
| 10/16/2008 at 11:28PM PDT, ID: 23823046 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: |
CREATE PROCEDURE [dbo].[SelectCountTravelOfferSearchBy]
-- search text
@SearchText varchar(50) ,
-- foreign key, index and bit columns
@TravelCenterID varchar(20) = NULL,
@TravelTypeID varchar(10) = NULL,
@TourTypeID varchar(20) = NULL,
@AccommodationTypeID varchar(20) = NULL,
@RatingTypeID varchar(10) = NULL,
@BookingTypeID varchar(10) = NULL,
@RegionID varchar(20) = NULL,
@SupplierID varchar(20) = NULL,
@IsSpecialOffer bit = NULL,
@IsActive bit = NULL,
-- item count
@ItemCount bigint OUTPUT ,
-- sort expressions
@SortBy varchar(50) = 'OrderIndex' ,
@SortDirection varchar(4) = 'ASC'
AS
-- turn off rows affected
SET NOCOUNT ON
--isolation level
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-- system function stores
DECLARE
@ErrStatus int, -- stores error status
@RowsAffected int -- stores number of rows affected
/* -------------------------------------------------------------
* Resultset containing record count.
* ------------------------------------------------------------- */
DECLARE @Count int
SET @Count = 0 -- initialise count
-- dynamic sql params
DECLARE @MyItemCount int
SET @MyItemCount = 0 -- initialise count
DECLARE @MySql nvarchar(4000)
SET @MySql = '
SELECT
@MyItemCount = ISNULL(COUNT(*),0)
FROM
[dbo].[TravelOffers]
LEFT OUTER JOIN [dbo].[AccommodationTypes] ON [dbo].[TravelOffers].[AccommodationTypeID] = [dbo].[AccommodationTypes].[AccommodationTypeID]
INNER JOIN [dbo].[TravelTypes] ON [dbo].[TravelOffers].[TravelTypeID] = [dbo].[TravelTypes].[TravelTypeID]
INNER JOIN [dbo].[TravelCenters] ON [dbo].[TravelOffers].[TravelCenterID] = [dbo].[TravelCenters].[TravelCenterID]
LEFT OUTER JOIN [dbo].[Regions] ON [dbo].[TravelOffers].[RegionID] = [dbo].[Regions].[RegionID]
LEFT OUTER JOIN [dbo].[Suppliers] ON [dbo].[TravelOffers].[SupplierID] = [dbo].[Suppliers].[SupplierID]
INNER JOIN [dbo].[RatingTypes] ON [dbo].[TravelOffers].[RatingTypeID] = [dbo].[RatingTypes].[RatingTypeID]
INNER JOIN [dbo].[BookingTypes] ON [dbo].[TravelOffers].[BookingTypeID] = [dbo].[BookingTypes].[BookingTypeID]
LEFT OUTER JOIN [dbo].[TourTypes] ON [dbo].[TravelOffers].[TourTypeID] = [dbo].[TourTypes].[TourTypeID]
'
--Where clause
BEGIN
SET @MySql = @MySql + 'WHERE
'
END
--TravelCenterID
IF (@TravelCenterID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[TravelCenterID] = ''' + @TravelCenterID + ''''
SET @Count = @Count + 1
END
--TravelTypeID
IF (@TravelTypeID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[TravelTypeID] = ''' + @TravelTypeID + ''''
SET @Count = @Count + 1
END
--TourTypeID
IF (@TourTypeID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[TourTypeID] = ''' + @TourTypeID + ''''
SET @Count = @Count + 1
END
--AccommodationTypeID
IF (@AccommodationTypeID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[AccommodationTypeID] = ''' + @AccommodationTypeID + ''''
SET @Count = @Count + 1
END
--RatingTypeID
IF (@RatingTypeID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[RatingTypeID] = ''' + @RatingTypeID + ''''
SET @Count = @Count + 1
END
--BookingTypeID
IF (@BookingTypeID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[BookingTypeID] = ''' + @BookingTypeID + ''''
SET @Count = @Count + 1
END
--RegionID
IF (@RegionID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[RegionID] = ''' + @RegionID + ''''
SET @Count = @Count + 1
END
--SupplierID
IF (@SupplierID IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[SupplierID] = ''' + @SupplierID + ''''
SET @Count = @Count + 1
END
--IsSpecialOffer
IF (@IsSpecialOffer IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[IsSpecialOffer] = ' + CAST(@IsSpecialOffer AS varchar)
SET @Count = @Count + 1
END
--IsActive
IF (@IsActive IS NOT NULL)
BEGIN
IF (@Count > 0) SET @MySql = @MySql + ' AND '
SET @MySql = @MySql + '[dbo].[TravelOffers].[IsActive] = ' + CAST(@IsActive AS varchar)
SET @Count = @Count + 1
END
SET @MySql = @MySql + '
AND
(
-- search filters!
[dbo].[TravelOffers].[TravelCenterID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[TravelTypeID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[TourTypeID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[AccommodationTypeID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[RatingTypeID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[BookingTypeID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[RegionID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[SupplierID] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[OfferTitle] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[ShortDescription] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[HtmlDescription] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[AdultNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[ChildNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[InfantNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[SeniorNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[ConcessionNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[StudentNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[FamilyNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[PaymentMethods] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[PaymentInstructions] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[PaymentTerms] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[SpecialNotes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[CancellationPolicy] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[Notes] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[CreatedBy] LIKE ''%''' + @SearchText + '''%'' OR
[dbo].[TravelOffers].[ModifiedBy] LIKE ''%''' + @SearchText + '''%''
)
'
-- print sql
--PRINT(@MySql)
-- BUG HERE!!!!!!!!!!!!!!!!!!!!!!!! Pretty sure the declaration is wrong. I need to retrieve the @MyItemCount value from the dynamic sql and store it in the procedure output parameter @ItemCount.
EXEC sp_executesql @MySql, N'@MyItemCount bigint OUTPUT', @ItemCount = @MyItemCount OUTPUT
-- check for errors
IF @ErrStatus <> 0
BEGIN
RAISERROR('Error occurred in stored procedure ''[dbo].[SelectCountTravelOfferSearchBy]''', 10, 1)
RETURN @ErrStatus
END
-- turn on rows affected
SET NOCOUNT OFF
-- success(0)
RETURN 0
GO
|
Advertisement