我正在研究一种方法,该方法创建一个名为SQL的字符串构建器,并使用SQL.Replace用值替换其中的部分内容。.replace替换错误的值
在调试期间,值是他们应该是。直到我到达.WriteToDatabase(SQL.ToString());那么这些数值似乎会被我分配给他们的数字所取代。
因此,例如我有字符串转移这个=早班,直到我到.WriteToDatabase。 我已经尝试在字符串生成器和Sql中更换positining而没有快乐。 代码
public static void InsertPumaLadleControlProcessMonitoring(string ladleNo, string shift1, string LadleTemp, string Source, string Destination1, string Destination2, string Destination3, string Destination4, string pourTime, string RodsTibor, string Rodsr, string chunksMg, string DegasCycleTime, string Denisty, string OOT)
{
try
{
string operatorID = clsPublic.loggedInUserId;
StringBuilder SQL = new StringBuilder(System.Configuration.ConfigurationManager.AppSettings.Get("InsertPumaLadleControlProcessMonitoring"));
SQL = SQL.Replace("param1", ladleNo);
SQL = SQL.Replace("param2", LadleTemp);
SQL = SQL.Replace("param3", Source);
SQL = SQL.Replace("param4", Destination1);
SQL = SQL.Replace("param5", Destination2);
SQL = SQL.Replace("param6", Destination3);
SQL = SQL.Replace("param7", Destination4);
SQL = SQL.Replace("param8", pourTime);
SQL = SQL.Replace("param9", Rods);
SQL = SQL.Replace("param10", Rodsr);
SQL = SQL.Replace("param11", chunksMg);
SQL = SQL.Replace("param12", DegasCycleTime);
SQL = SQL.Replace("param13", Denisty);
SQL = SQL.Replace("param14", OOT);
SQL = SQL.Replace("param15", shift1);
clsPublic.sqlDB.WriteToDatabase(SQL.ToString());
}
catch (Exception e)
{
//clsPublic.appLog.Error("Cannot add Record");
//throw new Exception("Cannot add record");
MessageBox.Show("Cannot Add Record" + e);
}
}
所以移1 =莫林移位,但它似乎被改变为15,当它到达.WriteToDatabase(SQL.ToString()); 任何任何想法?谢谢
如果你有'param10','param11','param12',然后用某些东西代替'param1'听起来非常危险; 'param10'变成'Foo0' - 是这么简单吗?但是......为什么哦为什么哦为什么你用参数替换值?那真的是参数化的错误想法 – 2013-03-19 11:18:25
这是我编辑过的代码。 – Inkey 2013-03-19 11:19:50
不知道如何改变任何东西... – 2013-03-19 11:20:45