我需要帮助尝试根据序列号匹配执行Insert语句。表“EDI40025.Bundle_Serial_Num
”中的字段长度为20个字符,“SerialNumber.Text
”为6个字符。我可以以某种方式获取Bundle_Serial_Num的子字符串,以便我只检查6个字符,以便它匹配文本字段?
例如,我的Bundle_Serial_Num
为"UNS40000000000447022"
,而SerialNumber.Text为"447022"
。我想将Bundle_Serial_Num
的最后6个与文本字段中的6进行比较。
string sql = @"INSERT INTO EDI40021 (Vendor_Order, BOL_Num, Cust_Part_Num)
WHERE (EDI40025.Bundle_Serial_Num = '" + SerialNumber.Text + "')";
谢谢。
答案 0 :(得分:0)
使用RIGHT
功能获取序列号的最后六个字符。
WHERE (RIGHT(EDI40025.Bundle_Serial_Num, 6) = '" + SerialNumber.Text + "')";
但是,如果可能的话,您很可能希望将查询重新编写为参数化查询,因为您当前容易受到SQL注入攻击。
此外,您的查询看起来不太合适,因为您不是来自表EDI40025的SELECTING
。