2017-10-20 64 views
-3

我具有包含6個或更多數目,並且可以是與文本框 輸入,以便爲每個參數,把數字的數組列表 像這樣的參數:與列SQL表可以存儲數組列表

Dim a As New ArrayList 
    a.Add(Val(B1_Left.Text)) 
    a.Add(Val(B1_Down.Text)) 
    a.Add(Val(B1_Right.Text)) 
    a.Add(Val(BB1_Left.Text)) 
    a.Add(Val(BB1_Down.Text)) 
    a.Add(Val(BB11_Right.Text)) 

所以對於每個記錄我有一個arraylist參數,應該插入一列的行。我應該在sql server表中應用哪種列類型來存儲vb.net數組列表? 我對插入vb.net代碼數據庫:

Dim DBConnection As New SqlConnection(My.Settings.CS) 
Dim DBCommand As New SqlCommand 
Dim _PID As Integer 
Dim _Date As Date 
Dim _txt As String 
Dim _B1 As ArrayList = a.clone 
DBCommand.Connection = DBConnection 
DBCommand.CommandText = "insert into TOM_ShaftFix " & 
         " (PID, [Date], txt, B1) " & 
         " VALUES(@PID,@Date,@txt,@B1)" 
DBCommand.Parameters.AddWithValue("@pid", _PID) 
DBCommand.Parameters.AddWithValue("@Date", _Date) 
DBCommand.Parameters.AddWithValue("@txt", _txt) 
DBCommand.Parameters.AddWithValue("@B1", _B1) 
DBConnection.Open() 
DBCommand.ExecuteNonQuery() 
DBConnection.Close() 

回答

1

根據版本的SQL Server,你可以存儲數據的JSON。 在SQL 2016中,它本機支持,或者您可以將其存儲爲XML。

declare @country nvarchar(max) = '{ 
    "id" : 101, 
    "name": "United States", 
    "continent": "North America" 
}'; 
    INSERT INTO Countries 
    SELECT * FROM OPENJSON(@country) 
    WITH (id int, 
     name nvarchar(100), 
     continent nvarchar(100)) 

MSDN

根據您可以簡單地將其存儲爲逗號分隔值類型。

1,2,3,4,5,6