Вы можете использовать HttpClient
Это доступно в .NET Framework 4.5+, .NET Standard 1.1+, .NET Core 1.0+.
В C # вы можете получить его через NuGet
Включая :
с помощью System.Net .Http;
blockquote>Настоятельно рекомендуется создать один экземпляр HttpClient для времени жизни вашего приложения и поделиться им. Например:
приватная статическая только для чтения HttpClient client = new HttpClient ();
blockquote>И, наконец, вы можете отправить свой POST-запрос с помощью PostAsync метода из HttpClient:
var values = new Dictionary {{"parameter1", "value1"}, {"parameter2", "value2"}};
var content = new FormUrlEncodedContent (значения);
var response = await client.PostAsync (" http://myapiurl.com/myapi/csos.asp ", content);
var responseString = await response.Content.ReadAsStringAsync ();
blockquote>В ответ вы получите строку, например, если ваш API возвращает строку или json.
Это один из многих способов отправить POST-запрос в Api. Вы также можете использовать:
[ 1127] WebClient
Запуская SQL-СЕРВЕР 2005, можно сделать это...
USE AdventureWorks;
GO
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
FROM Sales.SalesOrderHeader
)
SELECT *
FROM OrderedOrders
WHERE RowNumber BETWEEN 10 AND 20;
или что-то вроде этого на 2000 и ниже версий...
SELECT TOP 10 * FROM (SELECT TOP 20 FROM Table ORDER BY Id) ORDER BY Id DESC
SELECT TOP 10 * FROM table;
Совпадает с
SELECT * FROM table LIMIT 0,10;
, Вот статья о реализации Предела в MsSQL, Это - хорошее чтение, особенно комментарии.
Если я помню правильно (это было некоторое время, так как я приложил с SQL Server), можно быть в состоянии использовать что-то вроде этого: (2005 и)
SELECT
*
,ROW_NUMBER() OVER(ORDER BY SomeFields) AS [RowNum]
FROM SomeTable
WHERE RowNum BETWEEN 10 AND 20
Это - многоступенчатый подход, который будет работать в SQL2000.
-- Create a temp table to hold the data
CREATE TABLE #foo(rowID int identity(1, 1), myOtherColumns)
INSERT INTO #foo (myColumns) SELECT myData order By MyCriteria
Select * FROM #foo where rowID > 10
SELECT *
FROM (
SELECT TOP 20
t.*, ROW_NUMBER() OVER (ORDER BY field1) AS rn
FROM table1 t
ORDER BY
field1
) t
WHERE rn > 10
Это - почти дубликат вопроса, который я задал в октябре: ПРЕДЕЛЬНЫЙ пункт MySQL Emulate в Microsoft SQL Server 2000
при использовании Microsoft SQL Server 2000 нет никакого хорошего решения. Большинство людей должно обратиться к получению результата запроса во временной таблице с IDENTITY
первичный ключ. Тогда запрос против столбца первичного ключа с помощью BETWEEN
условие.
при использовании Microsoft SQL Server 2005 или позже Вы имеете ROW_NUMBER()
функция, таким образом, можно получить тот же результат, но избежать временной таблицы.
SELECT t1.*
FROM (
SELECT ROW_NUMBER OVER(ORDER BY id) AS row, t1.*
FROM ( ...original SQL query... ) t1
) t2
WHERE t2.row BETWEEN @offset+1 AND @offset+@count;
можно также записать это как общее выражение таблицы как показано в @Leon Tayson ответ .
Неуклюжий, но это будет работать.
SELECT TOP 10 * FROM table WHERE id NOT IN (SELECT TOP 10 id FROM table ORDER BY id) FROM table ORDER BY id
пропуск MSSQL ПРЕДЕЛЬНОГО пункта является преступным, IMO. Вам не придется сделать этого вида топорного обходного решения.