首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们可以从C# winform运行索引重建或重组命令吗?

我们可以从C# winform运行索引重建或重组命令吗?
EN

Stack Overflow用户
提问于 2019-03-12 04:19:33
回答 1查看 537关注 0票数 0

我想知道是否可以从c# winform运行MS SQL Server索引重建或重组操作?

我有一个使用rebuild和reorganize的脚本。现在,我想通过单击按钮在服务器数据库上运行整个脚本。有可能吗?或者只能从SSMS运行管理命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 04:36:31

是,创建一个SqlCommand对象并相应地设置CommandText

请注意,T-SQL中的标识符不能参数化,这意味着您可能必须使用动态SQL (也称为易受SQL注入攻击的潜在漏洞),因此要小心。

例如,要重建索引:

代码语言:javascript
复制
const String sql = @"
    ALTER INDEX PK_Employee_BusinessEntityID ON HumanResources.Employee REBUILD;
";

using( StringWriter log = new StringWriter() )
using( SqlConnection c = new SqlConnection( connectionString ) )
using( SqlCommand cmd = c.CreateCommand() )
{
    c.InfoMessage += ( s, e ) => log.WriteLine( e.Message );

    await c.OpenAsync().ConfigureAwait(false);

    cmd.CommandText = sql;

    await cmd.ExecuteNonQueryAsync().ConfigureAwait(false);

    MessageBox.Show( "Done!\r\n" + log.ToString() );
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55109760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档