我有一个庞大且有点复杂的SQL脚本,我在.Net中使用如下..
using System.Data.SqlClient;
using System.IO;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string sqlConnectionString = "Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True";
FileInfo file = new FileInfo("C:\\myscript.sql");
string script = file.OpenText().ReadToEnd();
SqlConnection conn = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);
}
}
}
在SQL脚本内部,我有一个ID值,需要是我从代码中传入的参数,我该怎么做?如果我使用SQLCommand,我可以看到脚本变得非常复杂。有关如何实现这一目标的任何建议或想法?
由于
答案 0 :(得分:0)
您可以通过索引({0}输入String.Format)在文件中指定params,并使用string.format在代码中提供实际值。
FileInfo file = new FileInfo("C:\\myscript.sql");
string fileContent = file.OpenText().ReadToEnd();
//fileContent = "Select * from ABC where COL1 = '{0}'";
string Col1Value = "Col1Values";
string fileString = String.Format(fileContent,Col1Value);