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