数据库
首页 > 数据库> > 在C#应用程序中隐藏sqlcmd

在C#应用程序中隐藏sqlcmd

作者:互联网

我是C#的新手,正在将旧的批处理文件脚本重写到其中,但是遇到了这个问题:

基本上我想隐藏sqlcmd窗口,所以我尝试了

        Process bkp = new Process();
        bkp.StartInfo.CreateNoWindow = true;
        bkp.StartInfo.UseShellExecute = false;
        bkp.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        bkp = Process.Start("C:\\Program Files (x86)\\Microsoft SQL Server\\90\\Tools\\Binn\\SQLCMD.EXE", "-S This-PC\\MyApp -U user -P pass -Q \"query\"");

但这不起作用,并且仍然存在黑色窗口.有没有办法真正隐藏它?

谢谢

解决方法:

您已经准备了bkp对象,但是根本没有使用它.在调用Process.Start方法时,它会被覆盖.

它看起来应该像这样:

  Process bkp = new Process();
  bkp.StartInfo.CreateNoWindow = true;
  bkp.StartInfo.UseShellExecute = false;
  bkp.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  bkp.StartInfo.FileName = "C:\\Program Files (x86)\\Microsoft SQL Server\\90\\Tools\\Binn\\SQLCMD.EXE";
  bkp.StartInfo.Arguments = "-S This-PC\\MyApp -U user -P pass -Q \"query\"";
  bkp.Start();

标签:sqlcmd,c
来源: https://codeday.me/bug/20191121/2049728.html