public class ProcExecute
{
//所有存储过程所在的文件夹路径,配置在app.config下的
private static readonly string DirectoryPath = ConfigurationManager.AppSettings["DirectoryPath"].ToString();
/// <summary>
/// 找到该文件下所有存储过程
/// </summary>
public void Execute()
{
string[] files = Directory.GetFiles(DirectoryPath, "*.txt");
foreach (string item in files)
{
Console.WriteLine(item+" 开始集成");
SqlHelper.GetExcuteNonQuery(GetFileString(item)); //ExecuteNonQuery() 用的这个方法
Console.WriteLine( item+" 集成成功");
}
}
/// <summary>
/// 返回存储过程的类容
/// </summary>
/// <param name="FilePath">txt路径</param>
/// <returns></returns>
private string GetFileString(string FilePath)
{
string result = "";
try
{
StreamReader sr = new StreamReader(FilePath,Encoding.Default);
result = sr.ReadToEnd();
}
catch (Exception)
{
Console.WriteLine("Error!"); }
return result;
}
}
因为测试要在不同的库上测,每次手动添加太麻烦 太多了..
result 这个值我调试复制在数据库可以执行成功,用程序执行时失败..是不是不能用sql的这个方法ExecuteNonQuery()执行。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货