Jump to content


Photo

Insert Dinamico


  • Faça o login para participar
16 replies to this topic

#1 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 01/11/2004, 22:53

Ai, alguém sabe fazer um insert dinamico... tipo pegando todos os campos do forumlario automaticamente... sem eu ter que fazer um request para cada campo?
sei la, colocar em um array todos os campos... hehe

é que tenho 30 campos para inserir.. e fazer request de todos, depois fazer o insert de todos... eu sempre me perco...

tem como fazer? alguém tem uma idéia?

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 02/11/2004, 01:21

Nunca tentei, mas pensei em um jeito agora. Veja:

...
Rs.Open "SELECT * FROM Tabela"

Rs.AddNew

For i = 0 To (Rs.Fields.Count-1)
   Rs(i) = Request.Form(Rs(i).Name)
Next

Rs.Update

Rs.Close
...
A idéia é essa. Pra funcionar, bastaria os campos do formulário terem o mesmo nome dos campos da tabela.

#3 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 02/11/2004, 01:29

deu erro no

<%
'Resgata o nome da pessoa que fez login.
strSQL = "SELECT * FROM produtos"
objRS.Open strSQL,DB,3,3



objRS.AddNew

For i = 0 To (objRS.Fields.Count-1)
  objRS(i) = Request.Form(objRS(i).Name)
Next

objRS.Update

objRS.Close
%>


mas acho que é por que os campos num tem o nome dos campos do DB... vou verificar isso, mas por hora... valeu in muito a ajuda...
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 02/11/2004, 01:33

Não se é Update, sempre inseri por SQL. Outra coisa que esqueci: acho que o campo auto-numeração, se existir, não pode entrar na história. Como ele normalmente é o primeiro da tabela, colocar o For pra começar do 1 já resolve esse problema.

#5 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 02/11/2004, 01:46

Não é update... é insert mesmo... e eu num tenho um campo autonumeração... é que eu queria fazer assim, q alem de ser gigante o form, tem um campo q teima em num ir para o banco q ta me deixando louco... mas valeu...

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#6 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 03/11/2004, 08:03

Cara eu tenho um form de 45 campos e fiz na unha mesmo usei o request.form e insert, mas fui inserindo um a um para ter certeza que estava tudo certo, agorá está funcionando certinho.

#7 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 03/11/2004, 09:44

ém... isso por que vc nunca se deparou com insert de mais de 100 campos... hehe, imagina fazer um insert com mais de 100 campos... por isso deve ter uma outra maneira de fazer... eu achei um outro codigo na net que num funcionou tb.. hehe, mas sempre tem outra maneira de se fazer uma coisa que ja é feita... e temos sempre que pensar em uma forma de fazer da maneira mais facil né... afinal num tem por que ficar complicando... o meu de 30 agora ta funcionando... mas to pensando em alguma maneira de facilitar e ganhar horas preciosas do meu tempo de trabalho... se eu achar alguma coisa que eu teste e funcione, eu posto ai... falow


;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#8 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 03/11/2004, 09:58

Se vc seguir a mesma sequencia dos campos, não precisa especificá-los, por exemplo:

Estrutura da tabela:
id,nome,endereco,telefone

insert into tabela (id,nome,endereco,telefone) values (1,'prog','natal','2345678')

-- é igual a

insert into tabela values (1,'prog','natal','2345678')

------
Mero mortal!

#9 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 03/11/2004, 10:06

óooooooo! hehehe, ja é um bom começo... ja me tira um pouco do trabalho.. hehe, eu sempre faço na mesma sequencia... num sabia que num precisava por... mas tipo... prog... vc num sabe se eu num posso fazer os request.form dinamico? tipo seguindo a logica q o LeoB colocou... eu uso nos meus input o mesmo nome dos campos do DB....

dai o Value... ficaria um so valor...

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#10 kdu

kdu

    Turista

  • Usuários
  • 32 posts
  • Sexo:Não informado

Posted 03/11/2004, 11:05

todos os campos sao do mesmo tipo?!
<%

usuario = "kdu"

favoritos = "MySupport - Sistema de Atendimento Online"

frase = "Quem procura oque não sabe, quando encontra nao reconhece!"

%>

#11 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 03/11/2004, 11:07

Iporto se vc fizer assim.

no form action vc poe a página que está os campos e os nomes dos campos vc poe assim.

 <input name="<% nome %>" type="text" id="nome">

e ai na query


insert into blablabla (nome) values (nome)


Cara não testei nem sei se isso é um raciocinio inteligente, mas até que pode dar certo.

Valew.

#12 kdu

kdu

    Turista

  • Usuários
  • 32 posts
  • Sexo:Não informado

Posted 03/11/2004, 11:15

Iporto se vc fizer assim.

no form action vc poe a página que está os campos e os nomes dos campos vc poe assim.

 <input name="<% nome %>" type="text" id="nome">

e ai na query


insert into blablabla (nome) values (nome)


Cara não testei nem sei se isso é um raciocinio inteligente, mas até que pode dar certo.

Valew.

esse raciocinio soh rola se os campos forem do mesmo tipo...

senao tera q tratar o tipo do campo no DB pra montar o SQL.

flw!!
<%

usuario = "kdu"

favoritos = "MySupport - Sistema de Atendimento Online"

frase = "Quem procura oque não sabe, quando encontra nao reconhece!"

%>

#13 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 03/11/2004, 11:28

só uso campos do tipo texto e memorando... hehe, quanto a isso num tem probela... vou ver as idéias ai... e ver no que da aqui... hehe

;) (y)
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#14 aimola

aimola

    Webdeveloper

  • Usuários
  • 471 posts
  • Sexo:Masculino
  • Localidade:Sampa

Posted 03/11/2004, 12:21

não posso ajudar muito pois tb num sei....he..he..he...
mas dá uma estudada do "for each", isso deve lhe ajudar muito!


[]'s!
Que os passos de hoje sejam maiores que os de ontem
e que os passos de amanhã sejam mais largos que os de hoje.

#15 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 03/11/2004, 12:42

For each! Muito bem lembrado. Lembrei agora de uma rotina que fiz uma vez pra montar um SQL gigante também. Era mais ou menos assim:

<%
...
SQL = "INSERT INTO Tabela ("
For Each Campo In Request.Form
   SQL = SQL & Campo & ","
Next
SQL = Left(SQL,Len(SQL)-1) & ") VALUES ("
For Each Campo In Request.Form
   SQL = SQL & "'" & Replace(Request.Form(Campo),"'","''") & "',"
Next
SQL = Left(SQL,Len(SQL)-1) & ")"

Conexao.Execute SQL
...
%>
Eu não inseria todos os campos, por isso os listei. Se você for inserir todos, pode fazer como o Prog falou:

<%
...
SQL = "INSERT INTO Tabela VALUES ("
For Each Campo In Request.Form
   SQL = SQL & "'" & Replace(Request.Form(Campo),"'","''") & "',"
Next
SQL = Left(SQL,Len(SQL)-1) & ")"

Conexao.Execute SQL
...
%>
=================

Tinha esquecido do tratamento das aspas simples.

Edição feita por: LeoB, 03/11/2004, 12:44.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq