/ / Вставка даних зі списку в таблицю - .net, sql-сервер, vb.net

Вставлення даних зі списку в таблицю - .net, sql-сервер, vb.net

Я намагаюся повторити список і вставити в базу даних.

Dim fields() As String
Using cnn As SqlConnection = New SqlConnection(conn)
cnn.Open()
Using insertTrans As SqlTransaction = cnn.BeginTransaction
Using cmd As SqlCommand = cnn.CreateCommand()
"create command
cmd.CommandText = "INSERT INTO [matrixtest].[dbo].[SM_Fatca_GinList] " _
& "(gincode, ginname, country) VALUES (@gin, @name, @country)"
Dim gin As SqlParameter = New SqlParameter("@gin", SqlDbType.VarChar)
Dim companyName As SqlParameter = New SqlParameter("@name", SqlDbType.VarChar)
Dim country As SqlParameter = New SqlParameter("@country", SqlDbType.VarChar)
cmd.Parameters.Add(gin)
cmd.Parameters.Add(companyName)
cmd.Parameters.Add(country)
"skip 1st row
Dim firstRow As Boolean = True
For Each item As String In lines
If Not firstRow Then
fields = item.Split("__||__")
If Not String.IsNullOrEmpty(fields(0)) Then
If Not fields(0).Length = 0 Then
"set parameters
gin.Value = fields(0)
companyName.Value = fields(1)
country.Value = fields(2)
cmd.Transaction = insertTrans
cmd.ExecuteNonQuery()
End If
End If
End If
firstRow = False
Next
End Using
End Using
End Using

Але мій код просто продовжує працювати назавжди і перевіряючи в SSMS, чи таблиці не містять даних. Що я роблю неправильно?

EDIT: Об'єкт команди:

введіть опис зображення тут

Відповіді:

2 для відповіді № 1

Ви не здійснюєте транзакцію, тому вам доведеться додати:

insertTrans.Commit()

Найкраще це зробити в Try..Catch, щоб ви могли зателефонувати insertTrans.Rollback(), якщо буде потреба.