0

我需要帮助尝试根据序列号匹配执行插入语句。表“ EDI40025.Bundle_Serial_Num”中的字段为 20 个字符,“ SerialNumber.Text”为 6 个字符。我可以以某种方式获取 Bundle_Serial_Num 的子字符串,以便我只检查 6 个字符以匹配文本字段吗?

例如 my Bundle_Serial_Numis"UNS40000000000447022"和 SerialNumber.Text is "447022"。我想将最后 6 个Bundle_Serial_Num与文本字段中的 6 个进行比较。

string sql = @"INSERT INTO EDI40021 (Vendor_Order, BOL_Num, Cust_Part_Num)  
             WHERE (EDI40025.Bundle_Serial_Num = '" + SerialNumber.Text + "')";  

谢谢你。

4

1 回答 1

0

使用该RIGHT功能抓取序列号的最后六个字符。

WHERE (RIGHT(EDI40025.Bundle_Serial_Num, 6) = '" + SerialNumber.Text + "')"; 

但是,如果可能,您很可能希望将查询重写为参数化查询,因为您目前容易受到 SQL 注入攻击。

此外,您的查询看起来不太正确,因为您不是SELECTING来自表 EDI40025。

于 2012-09-05T20:01:59.653 回答