Действительно ли возможно вставить весь VB.NET DataTable в SQL Server сразу

Это было некоторое время, так как я сделал Python, но я полагаю, что можно получить доступ к globals и местным жителям вызывающей стороны через traceback.

10
задан OMG Ponies 7 October 2009 в 17:53
поделиться

4 ответа

попробуйте с SqlBulkCopy

16
ответ дан 3 December 2019 в 15:35
поделиться

Вы можете вызвать .WriteXML () в DataSet и сбросить его в базу данных за одну вставку.

2
ответ дан 3 December 2019 в 15:35
поделиться

Используйте команду InsertCommand SqlDataAdapter , чтобы определить свой запрос Insert. Затем вызовите метод обновления DataAdapter с вашим набором данных в качестве параметра, чтобы он протолкнул данные.

Что-то вроде:

Dim DA As SqlDataAdapter = New SqlDataAdapter
Dim Parm As New SqlParameter

DA.InsertCommand = New SqlCommand("Insert Into tbl1(fld0, fld1, fld2) Values(@fld0, @fld1, @fld2)", conn)
Parm = DA.InsertCommand.Parameters.Add(New SqlParameter ("@fld0", NVarChar, 50, "fld0"))
Parm = sqlDA.InsertCommand.Parameters.Add(New SqlParameter ("@fld1", SqlDbType.NVarChar, 50, "fld1"))
Parm = sqlDA.InsertCommand.Parameters.Add(New SqlParameter ("@fld2", SqlDbType.NVarChar, 50, "fld2"))
DA.Update(dataset1, "tbl1")
3
ответ дан 3 December 2019 в 15:35
поделиться

В SQL Server 2008 вы можете использовать Табличные параметры :

Dim sc As New SqlCommand(
  "INSERT INTO MyNewTable (field1, field2,...)"&
    "SELECT field1, field2,... FROM @MyTable;", MyDBConnection) 
sc.Parameters.AddWithValue("@MyTable", MyDataset)  
sc.ExecuteNonQuery()
7
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: