Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2007
Sistemasgalbo Sistemasgalbo is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
Sistemasgalbo Va por buen camino
Consulta sin usar parametros

Hola a todos, tengo una duda tal vez sea la mas sencilla del mundo por resolver, la bronca es que siempre habia trabajado con tablas paradox o interbase, ahora quiero migrar a SQl server, todo va bien excepto cuando quiero hacer consultas por codigo sin utilizar parametros, este es un ejemplo de lo quiero hacer, para ser mas practico:

select * from cliente where rfc='AOBGXXXX'

Hice la consulta en Sql server y todo esta bien, la bronca es al mandar la consulta por codigo desde delphi, ya que le intento pasar:

adoquery1.sql.clear;
adoquery1.sql.add('select * from cliente where rfc='AOBGXXXX'');
adpquery1.execsql;

me marca error, recuerdo que habia algun caracter para decirle a delphi que trate como caracter a la comilla simple pero no recuerdo como, alguien podria decirme????

Última edición por Sistemasgalbo fecha: 10-01-2007 a las 21:25:57.
Responder Con Cita
  #2  
Antiguo 10-01-2007
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
Código Delphi [-]
adoquery1.sql.clear;

adoquery1.sql.add('select * from cliente where rfc=''AOBGXXXX'');
// o tambien

adoquery1.sql.add('select * from cliente where rfc=' + QuotedStr('AOBGXXXX'));
//o tambien

adoquery1.sql.add(Format('select * from cliente where rfc=%s',[''AOBGXXXX'']));
adpquery1.execsql;
puedes hacer combinaciones con lo anterior...
Responder Con Cita
  #3  
Antiguo 10-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Thumbs up

mira me parece que deberias reemplazar ExecSQL por Open, dado que , hasta donde sé, el open se utiliza para abrir una consula (Select) y el ExecSQL para ejecutar una sentencia en la bases de datos(Insert,Update,Delete).. espero que te sirva...
Responder Con Cita
  #4  
Antiguo 10-01-2007
Sistemasgalbo Sistemasgalbo is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
Sistemasgalbo Va por buen camino
creo que no me explico bien, el campo es una variable, seria algo asi:

adoquery1.sql.clear;
adoquery1.sql.add('Select * from cliente where rfc="' + edit1.text + '" order by rfc');
adoquery1.active:=true;

esto seria en paradox, y no hay ninguna bronca, en sql server, si le pones doble comilla te marca error, si le quitas las comillas te marca error, pero si la pongo las comillas sencillas (que es lo que me pide sql, porque ya hice la consulta y si jalo), el que marca error es el compilador de delphi, porque queda algbo asi:

adoquery1.sql.add('Select * from cliente where rfc='' + edit1.text + '' order by rfc');

espero haberme explicado...
Responder Con Cita
  #5  
Antiguo 10-01-2007
Luis Castro Luis Castro is offline
Registrado
 
Registrado: ene 2007
Posts: 5
Poder: 0
Luis Castro Va por buen camino
Chance te funcione

Compadre, te envio esta consulta, tal vez te funcione, es una consulta a base de parametros, lo otro es que debes cambiar el "execsql" por "open"

clibre2.Close;
clibre2.SQL.Clear;
clibre2.SQL.Text := 'select * from A_ProdutoNroClass where idproduto=roducto and nroclassificacao=:clasificacion ';
clibre2.Parameters.ParamByName('producto').Value := producto;
clibre2.Parameters.ParamByName('clasificacion').Value := clasificacion;
clibre2.Open;

Suerte
Responder Con Cita
  #6  
Antiguo 10-01-2007
Sistemasgalbo Sistemasgalbo is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
Sistemasgalbo Va por buen camino
me parece perfecto tu ejemplo castro, con parametros ya lo he hecho, sino que voy a hacer muchas consultas, y tendria que usar muchos componentes querys, lo que quiero es ahorrarme componentes, y en uno solo estar cambiando la consulta nada mas, imaginate si hago 20 consultas diferentes, tendria que tener 20 componentes querys, ahora no se que tanto afecte esto el rendimiento del programa.... gracias de todos modos.
Responder Con Cita
  #7  
Antiguo 11-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código Delphi [-]
adoquery1.sql.add('Select * from cliente where rfc=' + QuotedStr(edit1.text) + ' order by rfc');

O bien la forma "fea":

Código Delphi [-]
adoquery1.sql.add('Select * from cliente where rfc=''' + edit1.text + ''' order by rfc');

que corresponde a lo que dices:

Cita:
Empezado por Sistemasgalbo
recuerdo que habia algun caracter para decirle a delphi que trate como caracter a la comilla simple pero no recuerdo como
Más que un caracter se trata de poner dos veces la comilla.

// Saludos
Responder Con Cita
  #8  
Antiguo 11-01-2007
Sistemasgalbo Sistemasgalbo is offline
Registrado
 
Registrado: ene 2007
Posts: 4
Poder: 0
Sistemasgalbo Va por buen camino
ya estuvo Roman probe las dos formas y jalo, muchisisisisimas gracias.....
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
Parametros integer en consulta php jgutti PHP 2 14-06-2006 21:16:20
Parametros en Consulta SQL joi Varios 2 31-10-2005 19:36:49
Consulta en SQL con muchos parámetros Aprendiendo SQL 5 05-04-2005 22:30:13
consulta de parametros de 2combobox kryna Conexión con bases de datos 3 29-03-2005 08:17:39
Es posible usar Parametros en ModifySQL,InsertSQL,... del Dataset? Halfo Firebird e Interbase 1 07-08-2004 00:45:28


La franja horaria es GMT +2. Ahora son las 09:29:14.


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