我有SqlXml参数,我想将它作为参数发送到我的控制台应用程序。 我怎么能这样做?
public static void p_createExcel(SqlString procName, SqlString fileName, SqlString filePath, SqlXml xmlParams, out SqlBoolean result)
{
System.Diagnostics.Process installProcess = new System.Diagnostics.Process();
//settings up parameters for the install process
installProcess.StartInfo.FileName = @"d:\Documents\Temp\console1\createReport.exe";
installProcess.StartInfo.UseShellExecute = false;
installProcess.StartInfo.Arguments = xmlParams//this doesn't work
installProcess.Start();
installProcess.WaitForExit();
result = (installProcess.ExitCode == 0) ? true : false;
}
答案 0 :(得分:0)
尝试使用SqlXml
对象的Value
属性作为参数发送:
installProcess.StartInfo.Arguments = xmlParams.Value;
虽然,正如@Marco指出的那样,这可能会导致(某种程度上)不可预测的行为。为了让事情变得更优雅,你可以试试这个:
Value
对象的SqlXml
保存到文件中(如果您想要始终创建新文件,请参阅Path.GetTempFileName
。)将文件名传递给您的流程
installProcess.StartInfo.Arguments = "path to newly created xml file";