包含可存储arraylist的列的Sql表

包含可存储arraylist的列的Sql表,sql,vb.net,Sql,Vb.net,我有一个包含6个或更多数字的参数,可以用文本框输入 因此,对于每个参数,将数字放入arraylist中 像这样: 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

我有一个包含6个或更多数字的参数,可以用文本框输入 因此,对于每个参数,将数字放入arraylist中 像这样:

    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 arraylist? 用于插入数据库的我的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()

根据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))

根据类型,您可以简单地将其存储为逗号分隔的值

1,2,3,4,5,6