Array
(
)

Master/Detalhe no ASP.NET

Marcos.rio
   - 21 mar 2007

Amigos,

Estou mais uma vez precisando do ajuda dos colegas. Estou desenvolvendo um WebForm de vendas, onde eu tenho a tabela vendas e a tabela ítemvendas. No formulário eu possuo 3 botões, um para Incluir item de venda, excluir item de venda e editar item de venda, funcionando sob uma grid. No código do botão incluir, coloquei um response.redirect(´itemvendas.aspx?codigovenda=1´... ai começa o meu problema, com a venda ainda não foi finalizada, o usuário não clicou no botão finalizar venda, com isso não tenho como passar o codigo da venda pela URL. O que devo fazer para resolver isso ??

Pedro Carvalho
   - 12 abr 2007

Primeiro qual o banco de dados que vc está usando...

Se vc estiver usuando o SQL Server vc pode gerar uma chave usando o comado SELECT NEWID() AS CHAVE

de posse da chave vc grava os itens da venda em uma tabela Temporária...
quando o usuário finalizar a venda vc ler todos os itens da tabela temporaria e grava a venda e seguida vc grava os itens da venda pela chave...

Marcos.rio
   - 17 abr 2007

Estou usando o SQL SERVER mesmo. Vou tentar e depois posto sobre o resultado

Ghostmutante
   - 18 abr 2007

Eu faço desda forma:

Toda minha instrução guardo em uma variavel, por exemplo

#Código

strSQL = " INSERT INTO tabela ("
        strSQL &= " campo1,"
        strSQL &= " campo2,"
strSQL &= " ) VALUES ( "
        strSQL &= var1 & ","
        strSQL &= var2 & ",
strSQL &= " )"


certo??

bom, para vc retornar o ID que foi adicionado é facilimo, 3 linhas a mais no insert:

#Código
strSQL = "  SET NOCOUNT ON; "[/b]strSQL &= " INSERT INTO tabela ("
strSQL &= " campo1,"
strSQL &= " campo2,"
strSQL &= " ) VALUES ( "
strSQL &= var1 & ","
strSQL &= var2 & ",
strSQL &= " );"
[b]strSQL &= " SELECT @@IDENTITY AS ID_DA_TABELA; "
strSQL &= " SET NOCOUNT OFF; "



Repare que foi adicionada apenas a Primeira, penultima e ultima linha adicionadas...
Manda executar este comando e a variavel strSQL te retornara o ID da linha que foi inserida...

Espero ter ajudado.