Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2007
lalosan lalosan is offline
Registrado
 
Registrado: ene 2007
Posts: 3
Poder: 0
lalosan Va por buen camino
Question Problema con parametros en Delphi for .Net

Saludos a todos!
tengo un problema al utilizar en un codigo al utilizar parametros en delphi.net, me marca el siguiente error: "Borland.Data.Common.BdpException: Column unknown rnombre", no se como es la sintaxis, ojala y me puedan ayudar, este es el codigo:

Código Delphi [-]sql := 'INSERT INTO USUARIO (NOMBRE, NIVEL, USUARIO, CLAVE) VALUES (:rnombre, :rnivel, :rusuario, :rclave)';
if BdpConnection1.State <> ConnectionState.Open then
BdpConnection1.Open;

daUsuario.Active := False;

daUsuario.SelectCommand.Parameters.add('rnombre', DbType.&String);
daUsuario.SelectCommand.Parameters.add('rnivel', DbType.&String);
daUsuario.SelectCommand.Parameters.add('rusuario', DbType.&String);
daUsuario.SelectCommand.Parameters.add('rclave', DbType.&String);

daUsuario.SelectCommand.Parameters[0].Value := TextBox1.Text;
daUsuario.SelectCommand.Parameters[1].Value := textbox2.Text;
daUsuario.SelectCommand.Parameters[2].Value := TextBox3.Text;
daUsuario.SelectCommand.Parameters[3].Value := TextBox4.Text;
daUsuario.SelectCommand.CommandText := sql;
daUsuario.Active := True;
Responder Con Cita
  #2  
Antiguo 27-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hola y Bienvenido a los foros, ya que es tu primer mensaje.

Que conste que no he trabajado con .net, pero me suena a que puede ser así:
Código Delphi [-]
sql := 'INSERT INTO USUARIO (NOMBRE, NIVEL, USUARIO, CLAVE) VALUES (:rnombre, :rnivel, :rusuario, :rclave)';
if BdpConnection1.State <> ConnectionState.Open then
BdpConnection1.Open;

daUsuario.Active := False;

daUsuario.SelectCommand.CommandText := sql;

// daUsuario.SelectCommand.Parameters.add('rnombre', DbType.&String);
// daUsuario.SelectCommand.Parameters.add('rnivel', DbType.&String);
// daUsuario.SelectCommand.Parameters.add('rusuario', DbType.&String);
// daUsuario.SelectCommand.Parameters.add('rclave', DbType.&String);

daUsuario.SelectCommand.Parameters[0].Value := TextBox1.Text;
daUsuario.SelectCommand.Parameters[1].Value := textbox2.Text;
daUsuario.SelectCommand.Parameters[2].Value := TextBox3.Text;
daUsuario.SelectCommand.Parameters[3].Value := TextBox4.Text;

daUsuario.Execsql;
- Esto es, primero asignamos el sql, así delphi hara el parser oportuno y creará los parámetros rnombre, rnivel, etc.
- Después asignas los valores a los parámetros.
- Por último ejecutas la consulta. Cabe mencionar que es una consulta de acción (no haces un select de nada, sino que ejecutas una acción, en este caso inserción en la BBDD), en delphi se usa ExecSql para ejecutarla en .net mira si te suena algo de Exec, ExecQuery, etc.

Si te indica que no se encuentra los parámetros (column unknow) rnivel, rnombre, etc, quita el comentario que he puesto. Eso hará crear los parámetros a tu consulta.

Saludos y suerte.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 27-02-2007 a las 17:16:16.
Responder Con Cita
  #3  
Antiguo 27-02-2007
lalosan lalosan is offline
Registrado
 
Registrado: ene 2007
Posts: 3
Poder: 0
lalosan Va por buen camino
Gracias por ayudarme, hice todos los movimientos que me mencionas, pero aun me sigue saliendo el mismo error si lo estubiera haciendo en winform, si sale rapido, pero al programarlo en webform, es ahi donde batallo mucho y mas con la sintaxis... , a lo mejor en donde creo los parametros me falta algo más de codigo, o algo...
Responder Con Cita
  #4  
Antiguo 27-02-2007
lalosan lalosan is offline
Registrado
 
Registrado: ene 2007
Posts: 3
Poder: 0
lalosan Va por buen camino
Ya lo pude resolver, al parecer cambia mucho la sintaxis del winform al webform, les pongo el codigo:
Código Delphi [-]
sql := 'INSERT INTO USUARIO (NOMBRE, NIVEL, USUARIO, CLAVE) VALUES (?, ?, ?, ?)';
  if BdpConnection1.State <> ConnectionState.Open then
      BdpConnection1.Open;
 
  BdpTrans := BdpConnection1.BeginTransaction;
  daUsuario.SelectCommand.Parameters.add(BdpParameter.Create('NOMBRE', DbType.&String));
  daUsuario.SelectCommand.Parameters.add(BdpParameter.Create('NIVEL', DbType.&String));
  daUsuario.SelectCommand.Parameters.add(BdpParameter.Create('USUARIO', DbType.&String));
  daUsuario.SelectCommand.Parameters.add(BdpParameter.Create('CLAVE', DbType.&String));

  daUsuario.SelectCommand.Parameters[0].Value := TextBox1.Text;
  daUsuario.SelectCommand.Parameters[1].Value := textbox2.Text;
  daUsuario.SelectCommand.Parameters[2].Value := TextBox3.Text;
  daUsuario.SelectCommand.Parameters[3].Value := TextBox4.Text;
  daUsuario.SelectCommand.CommandText := sql;

  daUsuario.SelectCommand.ExecuteNonQuery;
  BdpTrans.Commit;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con dll y parametros JoseQ OOP 3 03-02-2006 11:11:41
Problema con parámetros en UDF's Héctor Randolph Firebird e Interbase 5 21-12-2004 07:59:55
Problema parametros TAdoQuery Tio Conexión con bases de datos 4 02-06-2004 11:50:24
Problema con parámetros o sesiones __cadetill PHP 8 17-11-2003 22:31:52
Problema con ibDataSet y parametros. Nuria Conexión con bases de datos 8 01-08-2003 10:40:50


La franja horaria es GMT +2. Ahora son las 09:49:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi