Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Eduardo Schinzel

Problema com DataSet - Gravar dados no SQL

Recommended Posts

Pessoal,

 

Estou desenvolvendo uma SUB/Função que importa dados de um arquivo TXT.

 

Como são aprox. 80mil linhas e tenho que utilizar SubString para delimitar os campos, optei para importar os dados para um DataSet após ler todas as linhas do Arquivo TXT, gravar no BD SQL.

 

Acontece que estou tendo alguns problemas no código em especial para gerar as novas DataRow e depois para gravar no SQL.

 

Segue o código que desenvolvi, agradeço por sugestões.

 

** Neste código, estou fazendo alguns testes de gravação, por isso não chamo o arquivo TXT.

 

** Na Tabela SQL já possui a chave primária no campo "Número do Progressivo"

 

Abs.

 

Imports System
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient

Module Ordem_de_Produção
Public Sub ORDEMCTFAB(ByVal FilePath As String)
Dim DA As New SqlDataAdapter
Dim DS As New DataSet
Dim DT As New DataTable
Dim DR As DataRow
Dim StrSQL As String
Dim Linha As String
'Dim Arquivo As New StreamReader(FilePath)

StrSQL = "SELECT * "FROM [Ordem de Produção]"

DA = New SqlDataAdapter(StrSQL, Conexão)
DS = New DataSet()
DT = New DataTable()

DA.FillSchema(DS, SchemaType.Source, "Dados")
DA.Fill(DS, "Dados")

DT = DS.Tables("Dados")

DR = DT.Rows(0)
Linha = DR(4)
Console.WriteLine(Linha)

'Do While Not Arquivo.EndOfStream

DR = DT.NewRow()
DR("Número do Progressivo") = "12345"
DT.Rows.Add(DR)
DS.AcceptChanges()

'DR.FieldPlant(Order) ') = "12345" 'Arquivo.ReadLine().Split("6J8")
'DT.Rows.Add(DR)

'Linha = Arquivo.ReadLine()
'Console.WriteLine(Trim(Linha.Substring(0, 6)))

'Loop
'Arquivo.Close()
'Arquivo.Dispose()

Dim Tabela As String = "Produção"

Dim CommandBuilder As New SqlCommandBuilder(DA)
DA.Update(DS, Tabela)

End Sub
End Module

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.