PROBLEMA EM DBNULL
Boas,
Estou tentando criar um codigo onde possa filtrar 2 tabelas e comprar registos. Só que uma das tabelas inicialmente esta vazia e est-me dando erro no:
If ds_aux_trans.Tables(0) = DBNull Then
está mal o código anterior?
O objectivo do codigo seguinte e comprar as 2 tabelas e caso ja exista o cod na tabela aux_transferencia simplesmente faça um update a tabela caso não exista que adicione um registo novo.
Dim SQL_teste As String = [Ô]Select cod_aux_forn from t_mov_aux[Ô]
Dim da_teste = New SqlDataAdapter(SQL_teste, connection)
Dim ds_teste = New DataSet
da_teste.Fill(ds_teste, [Ô]t_mov_aux[Ô])
Dim dr_teste As DataRow
Dim sql_aux_trans As String = [Ô]SELECT cod_forn FROM t_aux_transferencia[Ô]
Dim da_aux_trans = New SqlDataAdapter(sql_aux_trans, connection)
da_aux_trans.Fill(ds, [Ô]t_aux_transferencia[Ô])
Dim ds_aux_trans As DataSet
Dim dr_aux_trans As DataRow
For Each dr_teste In ds_teste.Tables(0).Rows
If ds_aux_trans.Tables(0) = DBNull Then
Dim connection98 As New SqlConnection(myConnectionString)
Dim SQL_a_transferencia As String = [Ô]INSERT INTO t_aux_transferencia(cod_forn, desg_forn, morada_forn, cod_postal_forn, localidade_forn, fax_forn, nib_forn)(select cod_forn, desg_forn, morada_forn, cod_postal_forn, localidade_forn, fax_forn, nib_forn from t_fornecedores where cod_forn =[Ô] & dr_aux_trans.Item(0) & [Ô])[Ô]
Dim da_aux_transferencia = New SqlDataAdapter(SQL_a_transferencia, connection98)
Dim ds_aux_transferencia = New DataSet
da_aux_transferencia.Fill(ds_aux_transferencia, [Ô]t_aux_transferencia[Ô])
Else
For Each dr_aux_trans In ds_aux_trans.Tables(0).Rows
MsgBox(ds_aux_trans.Tables(0))
MsgBox(dr_teste.Item(0).ToString)
If (dr_aux_trans.Item(0).ToString = dr_teste.Item(0).ToString) Then
MsgBox([Ô]EHEHEE[Ô])
End If
[ô]DGV_teste.DataSource = dr.Table()
Next
End If
Next
Obrigado pela atenção
Estou tentando criar um codigo onde possa filtrar 2 tabelas e comprar registos. Só que uma das tabelas inicialmente esta vazia e est-me dando erro no:
If ds_aux_trans.Tables(0) = DBNull Then
está mal o código anterior?
O objectivo do codigo seguinte e comprar as 2 tabelas e caso ja exista o cod na tabela aux_transferencia simplesmente faça um update a tabela caso não exista que adicione um registo novo.
Dim SQL_teste As String = [Ô]Select cod_aux_forn from t_mov_aux[Ô]
Dim da_teste = New SqlDataAdapter(SQL_teste, connection)
Dim ds_teste = New DataSet
da_teste.Fill(ds_teste, [Ô]t_mov_aux[Ô])
Dim dr_teste As DataRow
Dim sql_aux_trans As String = [Ô]SELECT cod_forn FROM t_aux_transferencia[Ô]
Dim da_aux_trans = New SqlDataAdapter(sql_aux_trans, connection)
da_aux_trans.Fill(ds, [Ô]t_aux_transferencia[Ô])
Dim ds_aux_trans As DataSet
Dim dr_aux_trans As DataRow
For Each dr_teste In ds_teste.Tables(0).Rows
If ds_aux_trans.Tables(0) = DBNull Then
Dim connection98 As New SqlConnection(myConnectionString)
Dim SQL_a_transferencia As String = [Ô]INSERT INTO t_aux_transferencia(cod_forn, desg_forn, morada_forn, cod_postal_forn, localidade_forn, fax_forn, nib_forn)(select cod_forn, desg_forn, morada_forn, cod_postal_forn, localidade_forn, fax_forn, nib_forn from t_fornecedores where cod_forn =[Ô] & dr_aux_trans.Item(0) & [Ô])[Ô]
Dim da_aux_transferencia = New SqlDataAdapter(SQL_a_transferencia, connection98)
Dim ds_aux_transferencia = New DataSet
da_aux_transferencia.Fill(ds_aux_transferencia, [Ô]t_aux_transferencia[Ô])
Else
For Each dr_aux_trans In ds_aux_trans.Tables(0).Rows
MsgBox(ds_aux_trans.Tables(0))
MsgBox(dr_teste.Item(0).ToString)
If (dr_aux_trans.Item(0).ToString = dr_teste.Item(0).ToString) Then
MsgBox([Ô]EHEHEE[Ô])
End If
[ô]DGV_teste.DataSource = dr.Table()
Next
End If
Next
Obrigado pela atenção
Citação:If ds_aux_trans.Tables(0) = DBNull.[txt-color=#ff0000]Value[/txt-color] Then
Citação:RAMSES escreveu:
If ds_aux_trans.Tables(0) = DBNull.[txt-color=#ff0000]Value[/txt-color] Then
ja tentei e da-me erro
[Ô]Operator = is not defined for [ô]system.data.datatablecollection[ô] and [ô] system.DBNull[ô][Ô]
Existe outra maneira de verificar se a tabela t_aux_transferencia esta vazia?
If ds_aux_trans.Tables(0).Rows = 0 Then
Citação:RAMSES escreveu:
If ds_aux_trans.Tables(0).Rows = 0 Then
Resolveu o meu problema
Obrigado
Tópico encerrado , respostas não são mais permitidas