删除 StringBuilder SQL 查询中的最后一个逗号

JTu*_*ney 1 sql vb.net string stringbuilder

我正在使用 String Builder 创建 SQL 更新查询,如果末尾有逗号,我需要将其删除。

例如:

 Dim query As New StringBuilder
 query.AppendLine("Update Vendor")
 If Not String.IsNullOrEmpty(vendInfo.Name) Then
      query.AppendLine("Set VendorName= @VendorName, ")
 End If
 If Not String.IsNullOrEmpty(vendInfo.VendorType) Then
      query.AppendLine("VendorType= @VendorType, ")
 End If
Run Code Online (Sandbox Code Playgroud)

最后一项的查询错误,因为总会有一个逗号。一旦我完成了我所有的 If 语句,我想从末尾删除一个逗号。

有任何想法吗?

小智 5

最简单的方法是为每个变量创建一个集合(抱歉,这里是 c#)

var list = new List<string>();
// add your vars
if(!string.IsNullOrEmpty(vendInfo.Name))
      list.Add("Set VendorName= @VendorName");
// and join them
var vars = string.Join(", ", list);
Run Code Online (Sandbox Code Playgroud)

秘诀是String.Join,它很容易连接一个可枚举的字符串,在每个字符串之间放置一个分隔符(但不是在末尾)。