Le SQL personnalisée Paging de requête pour ObjectDataSource, permet à chaque demande de fournir uniquement les données pertinentes à la page particulière, ce qui augmente la vitesse de chargement.requête SQL pour en option sur mesure Paging, C# ObjectDataSource
La question est comment rendre la radiomessagerie optionnelle?
string Query = @"
DECLARE @PagedData int
SET @PagedData = 1
SELECT
CASE
WHEN @PagedData = 1
THEN (SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY " + _sortColumns + @") AS ResultRank, *
FROM dbTable
WHERE (FeatureString LIKE '%gold%')
AS ProductsWithRowNumber WHERE ResultRank >
" + startIndex + " AND ResultRank <= (" + startIndex + " + " + pageSize + @"))
ELSE (SELECT * FROM dbTable WHERE (FeatureString LIKE '%gold%'))
END";
L'objectif est de la fonction SQL pour être en mesure d'obtenir des données uniquement pour cette page particulière, ou il peut désactiver la pagination obtenir toutes les données pertinentes. Ci-dessus est ma tentative d'utiliser un CAS pour basculer si la requête est paginée en fonction de la valeur de la variable PagedData. Cependant, cette méthode se termine par une erreur.
S'il vous plaît laissez-moi savoir si vous avez besoin de moi pour tout clarifier, merci.
ce qui signifie 'échec'? un message d'erreur? – McNets
erreur: "Une seule expression peut être spécifiée dans la liste de sélection lorsque la sous-requête n'est pas introduite avec EXISTS." –
et pouvez-vous obtenir la dernière phrase, peut-être un point d'arrêt, ou l'enregistrement dans un fichier texte, ou une boîte de message? – McNets