já cheguei a pensar se o problema não seria do asp integrado ao flex. pq o mesmo código feito apenas trabalhando com asp não teria problema e vejo mais flex trabalhando com asp.NET
Em 5 de fevereiro de 2010 20:25, Júlio César Ködel <[email protected]>escreveu: > A partir do momento que você está fazendo uma requisição HTTP acabou o > mono-usuário e o mono-thread! > > Lembre-se que HTTP é multi-thread (já pensou o Google atender apenas a > 1 usuário por vez?) > > E, pela sessão ser a mesma, qualquer acesso à base ferrará com o > IDENTITY. IDENTITY deve ser retornado IMEDIATAMENTE após o Insert (por > isso costuma-se fazer o Insert e o Select na mesma query e obter o > resultado do "insert" via escalar). Ou usar procs com o mesmo > propósito. > > 2010/2/5 Collin Peterson Mendes Chaves <[email protected]>: > > eu estou usando a linguagem asp com o flex. eu tenho vários arquivos > asp > > responsáveis por inserções no banco de dados, pois quando eu vou > adicionar > > um registro em uma tabela eu chamo (através do httpservice) os outros > > arquivos asp contendo inserções em alguns bancos e no inicio desses > arquivos > > eu já busco o idmax da tabela principal. vi na documentação books online > do > > sql server o IDENT_CURRENT o qual coloquei no projeto. fazendo testes em > um > > ambiente mono-usuário percebo que os dados são inseridos às vezes > > corretamente e em outros momentos vejo que alguma parte do registro se > > vincula a um registro anterior e não ao correntemente inserido. > > > > é como se o flex as vezes não entendesse com esse comando que o registro > é o > > recentemente inserido e não o anterior a ele, sei lá por causa de cache > ou > > alguma coisa. > > mas obrigado júlio pelas explicações. :) > > > > > > Em 4 de fevereiro de 2010 19:12, Júlio César Ködel <[email protected]> > > escreveu: > >> > >> SELECT @@IDENTITY ou SELECT SCOPE_IDENTITY() retorna o último ID > >> inserido em qualquer tabela (dentro do escopo) > >> > >> SELECT IDENT_CURRENT( ' TableName ' ) retorna o último ID inserido na > >> tabela 'TableName' > >> > >> Note que @@IDENTITY é igual a SCOPE_IDENTITY() e que ela pega o último > >> ID inserido NA SESSÃO ATUAL, portanto, a menos que o teu SELECT não > >> seja imediatamente após a query, não tem como falhar. > >> > >> Está usando qual linguagem no servidor? Se for .net, use Linq to SQL > >> ou ADO Entities Framework e pare de se preocupar =) > >> > >> 2010/2/4 Matheus <[email protected]>: > >> > Não entendi quando você diz que ele pega o maxid de uma tabela > >> > anterior? Na verdade acho que você quis dizer de uma tupla anterior né > >> > não? Se for isso verifique se você não está chamando a funcao de pegar > >> > o maxId antes de cadastrar. > >> > Abs > >> > > >> > On 4 fev, 12:25, Collin Peterson Mendes Chaves > >> > <[email protected]> wrote: > >> >> o ideal era que se tivesse esse @@identity podendo selecionar a > tabela > >> >> a > >> >> qual tenha aquele valor > >> >> > >> >> Em 4 de fevereiro de 2010 10:48, Collin Peterson Mendes Chaves < > >> >> [email protected]> escreveu: > >> >> > >> >> > oi Júlio, estou realmente usando sql server. eu estou usando > >> >> > realmente o > >> >> > select max(id). Agora esse select @@identity ele representa sempre > o > >> >> > valor > >> >> > recentemente inserido. se eu adicionar um registro ele pega o id do > >> >> > que foi > >> >> > inserido, mas se no meio do codigo eu inserir em outra tabela dados > >> >> > desse > >> >> > registro ele assume o id mais recente o dessa outra tabela > inserida? > >> >> > Em 4 de fevereiro de 2010 10:22, Júlio César Ködel > >> >> > <[email protected]>escreveu: > >> >> > >> >> > SELECT MAX(ID) functiona maravilhosamente bem... > >> >> > >> >> >> ...se estiver em um ambiente mono-usuário, mono-thread =P > >> >> > >> >> >> Diversas bases tem suporte para obter o último Identity inserido, > >> >> >> vide > >> >> >> e-mail da Gabriela. > >> >> > >> >> >> Para MSSQL, seria SELECT @@IDENTITY > >> >> > >> >> >> 2010/2/4 Collin Peterson Mendes Chaves <[email protected] > >: > >> >> >> > fazendo um teste aqui, percebi que ele as vezes pega o max id > não > >> >> >> de > >> >> >> uma > >> >> >> > tabela que eu acabo de inserir, mas de uma imediatamente > anterior > >> >> > >> >> >> > Em 4 de fevereiro de 2010 10:01, Collin Peterson Mendes Chaves > >> >> >> > <[email protected]> escreveu: > >> >> > >> >> >> >> pessoal estou com um problema que acho ser grave. tenho uma > >> >> >> >> aplicação > >> >> >> que > >> >> >> >> preenche informações em várias tabelas diferentes. na aplicação > >> >> >> >> quando > >> >> >> >> insiro um registro em uma tabela eu seleciono seu id (usando > max > >> >> >> >> id > >> >> >> >> inserido) para pegar esse id e inserir em uma outra tabela > outras > >> >> >> >> informações. uso o mesmo procedimento para selecionar o id da > >> >> >> >> primeira > >> >> >> >> tabela inserida para preencher outras tabelas. na hora de > >> >> >> >> consultar no > >> >> >> banco > >> >> >> >> de dados vejo que alguns registros inseridos não aparecem por > >> >> >> >> completo. > >> >> >> >> Eu aqui pensando no que poderia ser, eu acho que o problema que > >> >> >> >> pode > >> >> >> está > >> >> >> >> ocorrendo é quando muita gente está inserindo dados ao mesmo > >> >> >> >> tempo, > >> >> >> pois na > >> >> >> >> hora de selecionar o max id uma vez pode ser um valor e em > outra > >> >> >> >> vez > >> >> >> pode > >> >> >> >> ser outro já que outra pessoa tb está concorrentemente > inserido. > >> >> >> >> só que > >> >> >> vejo > >> >> >> >> o processo de inserção tão rápido que não sei se esse é o real > >> >> >> problema. se > >> >> >> >> for alguém pode me ajudar a resolver? (não sei se estou sendo > >> >> >> >> claro) > >> >> > >> >> >> > -- > >> >> >> > Você recebeu esta mensagem porque está inscrito na lista > "flexdev" > >> >> >> > Para enviar uma mensagem, envie um e-mail para > >> >> >> > [email protected] > >> >> >> > Para sair da lista, envie um email em branco para > >> >> >> > [email protected] > >> >> >> > Mais opções estão disponíveis > >> >> >> > emhttp://groups.google.com/group/flexdev > >> >> > >> >> >> -- > >> >> >> [] > >> >> >> Júlio César Ködel G. > >> >> >> "Você pode ficar sem comer durante 3 dias, sem beber durante 2 > dias, > >> >> >> mas não pode ficar sem respirar por mais de 5 minutos. > >> >> >> Então, antes de imprimir isso, lembre-se que o oxigênio deste > >> >> >> planeta > >> >> >> vem da árvore morta para fazer o papel que irá utilizar." > >> >> > >> >> >> -- > >> >> >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >> >> >> Para enviar uma mensagem, envie um e-mail para > >> >> >> [email protected] > >> >> >> Para sair da lista, envie um email em branco para > >> >> >> [email protected] > >> >> >> Mais opções estão disponíveis > >> >> >> emhttp://groups.google.com/group/flexdev > >> > > >> > -- > >> > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >> > Para enviar uma mensagem, envie um e-mail para > [email protected] > >> > Para sair da lista, envie um email em branco para > >> > [email protected] > >> > Mais opções estão disponíveis em > http://groups.google.com/group/flexdev > >> > >> > >> > >> -- > >> [] > >> Júlio César Ködel G. > >> "Você pode ficar sem comer durante 3 dias, sem beber durante 2 dias, > >> mas não pode ficar sem respirar por mais de 5 minutos. > >> Então, antes de imprimir isso, lembre-se que o oxigênio deste planeta > >> vem da árvore morta para fazer o papel que irá utilizar." > >> > >> -- > >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >> Para enviar uma mensagem, envie um e-mail para [email protected] > >> Para sair da lista, envie um email em branco para > >> [email protected] > >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev > > > > -- > > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > > Para enviar uma mensagem, envie um e-mail para [email protected] > > Para sair da lista, envie um email em branco para > > [email protected] > > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > > > > -- > [] > Júlio César Ködel G. > "Você pode ficar sem comer durante 3 dias, sem beber durante 2 dias, > mas não pode ficar sem respirar por mais de 5 minutos. > Então, antes de imprimir isso, lembre-se que o oxigênio deste planeta > vem da árvore morta para fazer o papel que irá utilizar." > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
