SELECT TOP 100 * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC
我想替換查找「TOP 100」字符串,並以「TOP 200」或任何其他值替換它。替換「100強」的字符串與其他字符串值
你可以讓我知道如何在C#中做到這一點?
SELECT TOP 100 * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC
我想替換查找「TOP 100」字符串,並以「TOP 200」或任何其他值替換它。替換「100強」的字符串與其他字符串值
你可以讓我知道如何在C#中做到這一點?
這聽起來我,如果你只是想替換另一個字符串的一部分,所以像:
string sql = "SELECT TOP 100 * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC";
sql = sql.Replace("TOP 100", "TOP 200");
如果數量是動態的,你想用一個不同的你可以將其替換使用正則表達式:
string sql = "SELECT TOP 100 * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC";
string pattern = @"\bTOP\b *(\d+)";
sql = Regex.Replace(sql, pattern, m => "TOP 200");
要使用字符串替換功能。 string replace function
如果不使用存儲過程,你可以連接在C#中的命令文本的限制:
int toplimit = 200;
cmd.CommandText="SELECT TOP " + toplimit.ToString() + " * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC";
如果你正在寫在C#代碼查詢,你可以使用:
int topCount=1000;
string query= "SELECT TOP ("+i.toString()+") * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC"
但是,如果你想發送參數到你的SP,那麼你可以使用:
Declare @i int=1000;
SELECT TOP (@i) * FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC
這是比接受的答案黑客更理智的方法 – Andomar 2015-02-23 09:12:57
我想應該是爲簡單如此
private string GetSql(int maxRecords)
{
string statement = "SELECT TOP " + maxRecords + " FROM DSMS_Log.dbo.LoggingDetail WITH(NOLOCK) ORDER BY LogTime DESC ";
return statement;
}
您還可以修改參數並更改您的SQL查詢。
我會爲此使用正則表達式。因爲我認爲它是在一個聲明中獲得所有變體的最佳方式。
string oldString = "Select top 500 from wherever";
string newLimit = "top 20";
string result = System.Text.RegularExpressions.Regex.Replace(oldString , "TOP (\\d)+",newLimit , System.Text.RegularExpressions.RegexOptions.IgnoreCase);
所以,把你的舊字符串,請更換「TOP X」字符串作爲newLimit在我的例子給出另一個版本。
對於C#解決方案,您將使用參數而不是字符串操作更好。
只是這樣的:
int count = 200;
var sql = string.Format("SELECT TOP {0} FROM [Rest_Of_Your_Query]", count);
,如果你會用一個參數會更容易讓你知道什麼時候改變(如果要替換僅當值是100),並以該值(200,300)。
對於SQL解決方案,請查看@Ganesh_Devlekar的答案
您的c#代碼在哪裏? – 2015-02-23 07:51:01
顯示更多詳細信息!例如那些保存在文本文件中的字符串? – chouaib 2015-02-23 07:52:50