c# - .replace 替换错误的值

标签 c#

我正在研究一种方法,该方法创建一个名为 SQL 的字符串生成器,并使用 SQL.Replace 将其中的部分内容替换为值。

在调试期间,这些值是它们应该的值。直到我到达 .WriteToDatabase(SQL.ToString());然后这些值似乎被我分配给它们的数字替换。

例如,我有字符串移位 this = 早类,直到我到达 .WriteToDatabase。 我尝试过替换字符串生成器和 Sql 中的定位,但没有任何乐趣。 代码

 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);
        }
    }

所以 Shift 1 = Moring Shift 但当它到达 .WriteToDatabase(SQL.ToString()); 时似乎会更改为 15; 有人有什么想法吗?谢谢

最佳答案

您应该使用参数,而不是用查询中的值替换它们的名称。

关于c# - .replace 替换错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497966/

相关文章:

c# - 如何使用 native 应用程序 C# XAML 在 Azure AD 上创建新用户?

c# - 适用于任何 C# 开发人员的 "must follow"FxCop 规则是什么?

c# - 使用 Json.Net 自定义 DateTime 序列化

c# - c#中long到decimal的转换

c# - xamarin.forms 将 listview-imagecell 图像源绑定(bind)到 byte[]

c# - akka.net Tell (object) 与 Tell (object, IActorRef)

c# - 以不同用户身份运行的 selenium web 驱动程序未获取用户的配置文件/ session

c# - DLL 导入中的 SafeFileHandle

c# - 输入字符串的格式不正确 C#

c# - SetCookie 似乎无法正常工作