Usuário com melhor resposta
Problema com Update no CommandBuilder

Pergunta
-
Prezados,
Estou com um problema ao tentar atualizar um banco SqlServer com os dados do meu DataSet.
Ocorre a seguinte mensagem do SqlCommandBuilder:
Não há suporte para geração SQL dinâmica para UpdateCommand em SelectCommand que não retorne informações importantes de coluna.
Segue abaixo parte do meu código:
Code BlocksSql = ""
sSql = sSql &
"SELECT * FROM db_teste_cargas..xgp_carga_ativo_fixo_" & aEmpresa & " "da =
New SqlDataAdapter(sSql, cnn)da.Fill(ds, 0)
For
J = 0 To ds.Tables(0).Rows.Count - 1sSql =
""sSql = sSql &
"SELECT TOP 1 Empresa "sSql = sSql &
",Num_int "sSql = sSql &
",Unidade "sSql = sSql &
",C_Custo "sSql = sSql &
",Periodo "sSql = sSql &
",Valor_cor "sSql = sSql &
",Depr_acum "sSql = sSql &
",Deprec_per "sSql = sSql &
"FROM db_sicof..atv105 "sSql = sSql &
"WHERE Empresa = '" & Trim(aEmpresa) & "' " sSql = sSql & "AND C_Custo = '" & Trim(ds.Tables(0).Rows(J).Item("Centro_Custo1")) & "' "sSql = sSql &
"AND num_int = '" & Trim(ds.Tables(0).Rows(J).Item("num_int")) & "' "sSql = sSql &
"AND periodo = '200709' "sSql = sSql &
"ORDER BY Periodo DESC "Code Blockda2 = New SqlDataAdapter(sSql, cnn2)
da2.Fill(ds, 1)
sValor_cor = Trim(ds.Tables(1).Rows(k).Item(
"Valor_cor"))sDepr_acum = Trim(ds.Tables(1).Rows(k).Item(
"depr_acum"))sDeprec_per = Trim(ds.Tables(1).Rows(k).Item(
"Deprec_per"))ds.Tables(0).Rows(J).Item(
"Reserva") = Trim(sDepr_acum)ds.Tables(0).Rows(J).Item(
"DEPRECIACAO_MES") = Trim(sDeprec_per)ds.Tables(0).Rows(J).Item(
"CUSTO_ATUAL") = Trim(sValor_cor)ds.Tables(0).Rows(J).Item(
"QTDE_MES_DEPREC") = Trim(sQtde_Mes_Deprec)Dim
cmdBuilder As New SqlCommandBuilder(da)da.Update(ds,
"0")Se alguem já tiver passado pela experiência ficarei grato pela ajuda.
Abraços
Respostas
-
Boa Noite pessoal.
Eu consegui identificar o problema, não havia erro no código, o detalhe é que deve existir uma PK na tabela para o .net gerenciar a transação.
Criei a PK e funcionou.Abraços
- Marcado como Resposta Alexandre.NET quarta-feira, 20 de janeiro de 2010 12:10
Todas as Respostas
-
-
Boa Noite pessoal.
Eu consegui identificar o problema, não havia erro no código, o detalhe é que deve existir uma PK na tabela para o .net gerenciar a transação.
Criei a PK e funcionou.Abraços
- Marcado como Resposta Alexandre.NET quarta-feira, 20 de janeiro de 2010 12:10
-
-
-
-