2014-01-09 40 views
0

全部, 我開發了一個格式化/逗號分隔應用程序,可以將一串長數字轉換爲正確格式的SQL查詢。VBNewLine經過一定數量的字符和一個給定的字符

例如:

101 
102 
103 
104 
105 

變爲:

('101','102','103','104','105') 

這是一個非常有用的工具,但可以說有格式化500個不同的值。這在SQL服務器中創建了非常長的一行。

我一直在互聯網上搜索,但我還沒有找到的東西,可以完成我的問題:

如何我自動換行到100個字符做每行,但不是分手的格式:

('Value1','Value2','Value3') 

請讓我知道如果我需要進一步解釋。謝謝您的幫助!

+2

你有將其轉換爲SQL查詢的格式功能?如果我們知道你現在在做什麼並且根據你的需求進行修改,那麼我們會幫助你更容易。 –

+2

但是爲什麼? SQL服務器不關心文本是否在一行上。 – Magnus

+0

@Mangus,當然不會。這是爲了保持存儲過程和臨時查詢清晰。 – Sev09

回答

2

這將在「數的長字符串」轉換成SQL格式與lineLength參數:

Public Function ConvertToSqlParameter(input As String, lineLength As Integer) As String 
    Dim sb = New StringBuilder("(") 
    Dim len = 0 
    For Each s In input.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) 
     If len >= lineLength Then 
      sb.Append(Environment.NewLine) 
      len = 0 
     End If 
     Dim str = "'" + s + "'," 
     len += str.Length 
     sb.Append(str) 
    Next 
    sb.Length -= 1 
    sb.Append(")") 
    Return sb.ToString() 
End Function 
相關問題