public static bool CheckPoorderSend(string fbrNo, string fbillno, ref string mess) { StringBuilder SQL = new StringBuilder(); SQL.Append("select Isnull(FCheckerID,0) FCheckerID,FCancellation from poorder "); SQL.AppendFormat(" where fbillno ='{0}' ", fbillno); var dt = PublicDAL_Iface.GetDataTable(GetConnectStr(fbrNo), SQL.ToString()); if (dt.Rows.Count > 0) { string FCheckerID = dt.Rows[0]["FCheckerID"].ToString(); if (FCheckerID == "0") { mess = "定位原始订单还未审核,不能发布"; return false; } bool Cancellation = false; bool.TryParse(dt.Rows[0]["FCancellation"].ToString(), out Cancellation); if (Cancellation) { mess = "定位原始订单已经作废不能发布"; return false; } return true; } else { mess = "定位原始订单号失败"; return false; }
时间: 2024-02-10 19:28:43 浏览: 100
这段代码是一个名为`CheckPoorderSend`的静态方法,它接受三个参数:`fbrNo`、`fbillno`和`mess`。这个方法的作用是检查指定订单号的订单是否可以发布。
方法首先构建了一个SQL查询语句,用于从`poorder`表中查询指定订单号的记录的`FCheckerID`和`FCancellation`字段的值。然后,通过调用`PublicDAL_Iface.GetDataTable`方法执行查询并将结果保存在`dt`变量中。
接下来,方法检查返回的表格行数,如果大于0,则说明找到了匹配的记录。然后,方法从表格中获取了`FCheckerID`和`FCancellation`字段的值,并进行相应的判断。
如果`FCheckerID`为"0",则将错误信息赋值给输入参数`mess`,并返回false。如果`FCancellation`为true,则同样将错误信息赋值给`mess`,并返回false。
如果上述条件都不满足,则说明订单可以发布,返回true。
如果未找到匹配的记录,则将错误信息赋值给`mess`,并返回false。
请注意,这段代码也存在SQL注入的安全风险,同样建议使用参数化查询来防止注入攻击。
相关问题
public static explicit operator BoolStr(string b) => new BoolStr(b);
这是一个显式转换运算符的重载,它定义了如何将 string 类型转换为 BoolStr 类型。具体来说,它接受一个 string 类型的参数 b,并返回一个新的 BoolStr 类型的对象,其 Name 属性的值为 b。
这个转换运算符是显式的,这意味着它只能在代码中显式地调用,不能隐式地使用。例如,如果有一个 string 类型的变量 s,如果要将其转换为 BoolStr 类型,必须使用显式转换:
BoolStr b = (BoolStr)s;
这将调用上述重载的转换运算符,将 s 作为参数传递给它,并返回一个新的 BoolStr 类型的对象,其中 Name 属性的值为 s。
public static bool ExecuteSql
这也是一个 C# 语言中的代码片段,其中 ExecuteSql 是一个方法名,表示用于执行 SQL 命令的方法。而 bool 是方法的返回值类型,表示该方法会返回一个布尔值类型的结果。通常情况下,我们会在代码中使用 ExecuteSql 方法来执行一条 SQL 命令,并返回该命令是否执行成功的结果。该方法可能会包含一些参数,例如 SQL 命令字符串、数据库连接对象等。具体实现方式可以根据实际情况而定。
阅读全文