Dúvida com Formulário

Eu quis dizer que já passei por esse problema e nao descobri porque acontece.

Nossa estranho mesmo, agora tá deletando, mas quando entro no registro e altero algo no cadastro, ele dá esse erro

Erros linha(s)1
Erro ao alterar a base de dados - Registro inexistente

o que será agora?

normando

Normando,

Seria interessante ativar o modo debug da aplicação para identificar o que está sendo feito no momento em que atualiza o formulário. Vá no menu de ediçào da aplicação “Aplicação --> Configuração --> Configuração do erro”, a opção Modo debug.

E pelo que conheço, provavelmente está sendo alterado um campo que é chave primária, exemplo, o campo “cod_cliente” (que é chave primária na tabela) está sendo alterado, então de fato ele vai tentar dar um update neste código passado, por você, porém ele não existe ainda… por isso que ocorre o erro.

Mas, resumindo, você só poderá confirmar isso vendo o que está sendo feito através do debug.

Rodrigo Lins.

Vou verificar isso, outra coisa que acontece assombrosamente é que vou no formulário, tiro por exemplo o ícone exlcuir e alterar, só deixo o de inserir, ai peço pra rodar, e funciona lindo.
Então coloco no servidor, ai puxo o formulário pelo menu que fiz, eu tá lá o botão exlcuir e alterar, como pode acontecer isso se na aplicação principal que tá local onde fiz a transposição não tá.
Ai pensei deve ser o cache do ie, mas não é pois tá tudo zerado.

E sobre excluir e alterar realmente é nas chaves primárias…como eu resolvo isso, pois notei que ele não tá adicionando código, como faço para ele colocar a numeração automaticamente?

abraços

normando

quero dizer sobre o assunto, que isso é um mistério para mim, e modo debug não diz nada, pois quando da o erro, o modo debug não mostra, vejam a situação:

Aplicação publicada na Locaweb.
Eu da minha casa, tento incluir, excluir e alterar, e da o erro de Registro Inexistente.
Outra pessoa em outro local, com outra conexão a internet, vai na mesma aplicação, no mesmo registro e consegue fazer todos os procedimentos sem problema.

Daí avaliei os usuários logados no banco e sua as ações, notei que o meu usuário não estava com id no banco, e o da outra pessoa estava. Estou falando de log do servidor do banco de dados (no caso MySql).

Eu sõ consegui ler, mas não coseguia gravar, excluir, alterar, achei que era um bloqueio de mult-usuário no banco, mas outras aplicações em outras tabelas funcionavam normalmente.

Passei horas com suporte da Locaweb com testes exaustivos, e nada se detectou.

Como meu Bd está meio bagunçado pois tinha exportado do access mas tem mais de 20 mil cadastro, estou refazendo de ponta a ponta no mysql, pois tinho visto que no bd não tinha códio de autonum e nem autoincrem, então estou revendo isso, se resolver eu falo, tomara que seja isso.

abrãços

normando

Normando,

observando a sua questão inicial… seria para o formulário vir sempre em modo de inclusão? ao invés de atualização? Se sim, você pode utilizar a macro chamada sc_apl_conf onde existem as propriedades para “forçar” no momento em que desejar para vir em inclusão (exemplo em um item do menu o formulario é só inclusao, em outro item ele é pode excluir, etc…).

exemplo da macro:

sc_apl_conf(“nome_do_seu_formulario”, “start”, “new”);

Rodrigo Lins.

Obrigado pela dica, essa macro seria um novo método e depois eu colocaria como evento?

Então refiz todo o db, e sobre não editar ou exluiro o usuário, era problema de chave primária, agora está com a chave prima´rio e autoincremtno (manual).

Agora esses itens está funcionando legal.

abraços

normando

Com relação a macro, poderia sim ser utilizado em métodos ou diretamente nos eventos também, sem problema algum. Depende do que você está querendo.

Para o exemplo do menu (que seria um pouco mais “complicado”) seria algo do tipo:

Evento onExecute do Menu:

if(sc_menu_item == “item_1”) {

 sc_apl_conf("meu_form", "start", "new");

}

Nesse caso, estou verificando o item que estou selecionando no menu e vou nesse momento fazer a mudança de propriedade para “New”.

Rodrigo Lins.

Blz Vou tentar!!

e já falo…kkkkk

abraços

normando

Estou com outra dúvida!

Com essa aplicação do scriptcase, várias pessoas com acessos, a aplicação poderão fazer cadastro e consulta ao mesmo tempo, ou tem limite, ou trava,ou não pode?

abraços

normando

Olá,

O uso da ferramenta ScriptCase, com relação a acessos simultaneos, etc… tem sim limitação, porém, as aplicações criadas através do ScriptCase são de código fontes abertos e em PHP.

Então, não haverá limitação alguma por parte da aplicação, as “limitações” que podem ter ou ocorrer, é com relação a recurso de servidor, com relação a configuração, ou até na própria aplicação (Ex. você gerar um relatório que está retornando 30.000 registros por exemplo na mesma página… provavelmente irá travar o navegador e o serviço as vezes…).

Rodrigo Lins.

Então a aplicação feita no scriptcase poderá ter acessos relativamente infinitos?!(Depende se o servidor aguenta é isso?)

abraços

normando

Venho cá novamente com meus fantasmas do scriptcase.
Fiz dois formulários um com único registro e outro como grid editável que funciona com um filtro, pelo filtro puxo pelo filtro esse grid editável.
O que acontece agora é que quando vou remover ou editar um registro achando o nome pelo filtro ele não edita ou remove fica pensando horas e horas, entretanto quando eu insiro um novo registro, ai vou no filtro e acho o nome, vou lá edito ou removo e funciona,mas os antigos não funciona, achei muito estranho.

Obs: O pior que antes de colocar no ambiente de produção funciona todos os recursos, é só passa para o server principal que começa a dor de cabeça, e o pior que é a mesma configuração de php, apache e mysql.

Rodrigo se puder me ajude valeu…kkkk

abraços

normando

Bom Dia,

Sim Normando, teria teoricamente acessos “infinitos” (dependendo das configurações mesmo),e ele não tem um limite imposto pela ferramenta ou pela linguagem PHP.

Pelo que observo o problema deve estar nas configurações do ambiente de produção, então será melhor tentar fazer as coisas por partes.

  • Primeiro, você em outro momento confirmou que a base de dados (no mysql) estava diferente do seu ambiente de produção (servidor) comparado com o ambiente de desenvolvimento (scriptcase), onde estava sem chave primária, etc… Não lembro se foi neste tópico, mas serve do mesmo jeito.

Resumindo: é interessante deixar nos dois ambientes (Desenvolvimento e produção) a mesma base de dados, estrutura tendo em vista que a aplicação foi desenvolvida para um determinado banco, configuração.

  • Segundo, é importante observar em qual servidor está sendo colocado, quais as configurações / versões (servidor web, php…) para até comparar com o desenvolvimento para alguma eventualidade ou problema. Em muitos casos, são necessários configurações diferentes para windows e para linux, por exemplo. Creio que a maioria dos usuários ScriptCase utilizam no Windows o desenvolvimento, só que quando coloca em um servidor na web (provedor), eles utilizam linux, etc… existem “detalhes” para funcionar corretamente as aplicações.

Resumindo: Tente identificar onde está sendo colocado as suas aplicações em produção, ver qual o servidor (windows, linux…), ver as configurações de diretórios (a raíz do servidor web…), versão do php também é interessante.
Em desenvolvimento você pode estar vendo estas configurações através do Diagnosis, no menu do ScriptCase ‘Ajuda --> Diagnosis’.

  • Terceiro, um outro ponto importante é saber qual a release do seu ScriptCase e qual a versão do ambiente de produção que está no servidor, sendo a publicação típica não será necessário fazer isto, mas já na avançada é importante buscar esta informação. (a explicação dos tipos de publicações está abaixo). Estas informações é importante estar “encontradas” ou “batendo”, porque existem recursos que são implementados ou retirados ou retirados, por exemplo, de uma release que precisa ser refletido no ambiente de produçào, caso altere as aplicações. Não é necessário fazer sempre a atualização do ambiente de produção, sào em algumas releases apenas, se não me engano quando é necessário isto no momento em que você publica ele já dá este aviso.

Resumindo: Para ver a release do ScriptCase, vá no menu da ferramenta Ajuda --> Sobre. E para a publicação Avançada (somente), onde você coloca manualmante o ambiente de produção, é importante saber a versão também, caso não saiba existem 2 formas de saber. Uma forma é através de diretórios mesmo e outra através do browser.
Da primeira forma vá no diretório onde foi colocado o ‘Prod’, como no exemplo abaixo e abra o arquivo denominado ver.dat:

  Ex.
     C:\Arquivos de programas\netmake\v4\wwwroot\prod_scriptcase\prod\lib\php\

A outra forma é abrir através do browser, tomando como exemplo o que foi dado em cima seria:

 Ex.
      http://localhost/prod_scriptcase/prod/lib/php/ver.dat
  • Quarto, é bom saber qual o tipo de publicação está sendo feita ou que vai ser feita ou a melhor para o caso. Para cada tipo de publicação (Típica e Avançada) existem os seus detalhes. O interessante é olhar o manual do próprio ScriptCase, onde creio que esteja bem claro estas configurações e utilidades (caso tenha alguma dúvida ainda, por perguntar…). Voltando um pouco ao que falei anteriormente, no Linux, por exemplo, precisamos dar as permissões de escrita no diretório, etc, enquanto de um modo geral no Windows não é necessário isto.

Resumindo: Acesse este link
http://www.scriptcase.com.br/scriptcase4_pt_br/doc/manual_mp/30-Publicando_Aplicacoes/00-Publicacao_visao_geral.htm

ou através do próprio manual do seu ScriptCase (menu Ajuda --> Webhelp), nele você pode verificar as configurações necessárias para funcionar corretamente. Eu não vou explicar tudo agora, porque existem as configurações no manual, mas caso tenha alguma dificuldade ainda, posso explicar melhor…

  • E por último, caso tudo que foi falado acima esteja correto e mesmo assim ocorra o problema, é interessante testar em outro ambiente, no caso publicar as aplicações em outro servidor (pode ser uma maquina da propria rede ou em outro local). Se funcionar neste outro ambiente, realmente é alguma configuração, infelizmente, será necessário voltar as passos de verificar os ambientes, configurações e tentar identificar as difereças e possíveis causas do problema. Não existiria uma forma mais simples de fazer isto…

OBS: Não sei se tudo que falei foi preciso para este tópico ou se misturei assuntos de outros, mas estou aproveitando para centralizar as dúvidas nesse caso…

Espero que lhe ajude de alguma forma agora.

Abraços.

Rodrigo Lins.

Rodrigo acho que o problema deve ser esse aqui ,not permissão de escrita,not permissão de escrita na sessão veja ai o link http://www.proex.unifesp.br/scriptcase/tmp/sc_diagnosis_20090730135736.html

Normando,

Eu sempre dou uma permissão recursiva no diretório do ambiente de produção que coloco no linux. Exemplo:

chmod 777 prod_scriptcase -R

E com relação ao PHP, sim pode até ser que seja o problema a parte de sessão, vou ser sincero que não sei seria exatamente o caso agora, mas que dará problemas em algum momento irá dar.
Configure ou peça para configurarem a diretiva session.save_path no arquivo de configuração do PHP (php.ini) e lembre que nesse diretório também será necessário a permissão de escrita.

Espero que consiga resolver o problema.

Rodrigo Lins.

Ainda não consegui resolver,mas o que aparenta ser problema de permissão mesmo…

Galera resolvi, o erro em questão era no servidor, na parte de security!!

Só tem uma coisa que ainda não entendi, a galera estava cadastrando derepente teve um nome que não conseguiu cadastrar, dizendo que não tava gerando cod na tabela eu acho, alguém já viu um erro assim?

Galera Tudo resolvdio

O problema era no servidor!!

abraços

normando