Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.445
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tanto la conexión como el Query, en Delphi se pueden hacer utilizando componentes visuales (TADOConnection y TADOQuery) y las propiedades las puedes configurar visualmente en el formulario; Tanto la conexión como el SQL. Después de eso sólo te quedaría abrir la consulta, hacer el recorrido y rellenar el combo.

Código Delphi [-]
  // Si no has configurado las propiedades en Visual, podrías hacerlo por código...
  ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;...';
  ADOQuery1.Connection := ADOConnection1;
  ADOQuery1.SQL.Add('elect * from mitabla order by campo1');

  // Abrir la consulta
  ADOQuery1.Open;
  // recorrido
  while not (ADOQuery1.Eof) do begin
    // Rellenar el combo
    ComboBox1.Items.Add(ADOQuery1.Fields[0].AsString);
    ADOQuery1.Next;
  end;

  ADOQuery1.Close;
  ADOConnection1.Close;

También se pueden crear los componentes por código, aunque si puedes colocarlos en visual, no hay razón para ello.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 31-10-2006
aquosoft aquosoft is offline
Miembro
 
Registrado: oct 2006
Posts: 17
Poder: 0
aquosoft Va por buen camino
mil kinientas gracias!!!
con lo que me pasaste conecte de pelos y la consulta andubo de mil maravillas...
ya que estoy.. te puedo preguntar otras cositas???
como ejecuto instrucciones que no devuelven valores (update, delete, insert, etc)
calculo que es con es con ADOcommand...
pero como te imaginaras no tengo ni idea...
te dejo como antes un ejemplo de mas o menos lo que quiero (asi lo hago en VB)

'//====================
'// creando la conexion:
dim Cnn as adodb.connection

set cnn = new adodb.connection

cnn.ConnectionString = "Provider=SQLOLEDB.1;User ID=MIUSER;Password=MIPASS;Persist Security Info=True;Initial Catalog=MIBASE;Data Source="MISERVER"

'//====================
'// la abro:
cnn.open
'//====================
'// COMIENZO DE LA TRANSACCION (se usa para tratar el error.. si tira un error, voy al tratamiento y hago un rollbacktrans, de esta manera no se ejecuta ninguna de las transacciones encerradas entre un begin y un commit
cnn.begintrans
'//====================
'// ejecuto la instruccion (aca puedo ejecutar cualquier cosa, select, insert, delete, create table, alter table, ejecutar procedimientos almacenados, etc)
cnn.execute "insert into mitabla (apellido,nombre) values ('" & varAPELLIDO & "','" & VARNOMBRE & "')"
cnn.execute "delete from mitabla where nombre='" & varNOMBRE & "'"
'//====================
'// hago ejecucion de la transaccion... (si no pongo begin y commit, se ejecutan directamente
cnn.committrans

Mis principales dudas al respecto son:
-Existe algo similar al begin y al commit?
-Se que para encerrar strings delphi usa la comilla simple, pero esta es caracter especial en sqlserver, por tanto para pasar parametros yo los tengo que encerrar entre comillas simples por ejemplo "'" & varNOMBRE & "'"
-el caracter de concatenacion es el "+" en delphi no?
(calculo ke mi sentencia seria algo como
delete from mi tabla where nombre ='" + varnombre + "'"
pero tengo dudas hacerca de las comillas dobles y simples.. aparte por supuesto de las dudas que tengo de la manera en que se ejecutan estas sentencias...
si me facilitan algun ejemplo como el de recien... se los voy a agradecer muchisimo!!!
Responder Con Cita
  #3  
Antiguo 31-10-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.445
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por aquosoft
..como ejecuto instrucciones que no devuelven valores (update, delete, insert, etc)
ambién puedes usar un TADOQuery, pero en lugar de usar Open o Active:=True debes utilizar el método ExecSQL.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 31-10-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.445
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por aquosoft
Mis principales dudas al respecto son:
(1)-Existe algo similar al begin y al commit?
(2)-Se que para encerrar strings delphi usa la comilla simple, pero esta es caracter especial en sqlserver, por tanto para pasar parametros yo los tengo que encerrar entre comillas simples por ejemplo "'" & varNOMBRE & "'"
(3)-el caracter de concatenacion es el "+" en delphi no?
(calculo ke mi sentencia seria algo como
delete from mi tabla where nombre ='" + varnombre + "'"
pero tengo dudas hacerca de las comillas dobles y simples.. aparte por supuesto de las dudas que tengo de la manera en que se ejecutan estas sentencias...
si me facilitan algun ejemplo como el de recien... se los voy a agradecer muchisimo!!!
(1) Sí, revisa los métodos de ADOConnection; Encontrarás el Begin, Commit, Rollback y InTransaction (para saber si estás dentro de una).
(2)(3) Revidsa en la ayuda QuotedStr; Esta funcion te añade las comillas y te puedes olvidar de ellas:

Código Delphi [-]
   ...  'SELECT * FROM TABLA WHERE Nombre = ' + QuotedStr(StrNombre);
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 31-10-2006
aquosoft aquosoft is offline
Miembro
 
Registrado: oct 2006
Posts: 17
Poder: 0
aquosoft Va por buen camino
millon de gracias.. andubo todo re bien!!!
una ultima por hoy...
alguno sabe si hay algo que me inserte en el codigo alguna linea o algo para separar los procedimientos uno de otro???
alguna propiedad o en view.. o algo??
tipo algo asi: (pero ke sea propio de pascal y ke no tenga ke separar yo a mano...
gracias y no jodo mas por hoy...

Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin

end;

// ===================================================

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    begin
      edit1.Enabled := false;
      button1.Enabled := true;
      button1.SetFocus;
    end;
  if key = #27 then
    begin
      edit1.Text := '';
      edit1.SetFocus;
    end;
end;

// ===================================================

Última edición por dec fecha: 31-10-2006 a las 16:38:15.
Responder Con Cita
  #6  
Antiguo 31-10-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.445
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
"A mano" puedes programártelo en el "Code Insight" del IDE de Delphi; Accedes por "Tools/Editor Options/Cede Insight".
Defines una abreviatura y su sustitución....

Otra opción es instalar por ejemplo los GExperts (muy recomentables no sólo por esto, sino por muchas otras fucnciones).
A parte de que tienen una utilidad llamada "Code Profreeder" similar a la anterior, pero más configurable.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 31-10-2006
aquosoft aquosoft is offline
Miembro
 
Registrado: oct 2006
Posts: 17
Poder: 0
aquosoft Va por buen camino
nooo..... a mano ni loco.. algo ke agregue una linea.. separando procedimientos o funciones o lo que sea.. pero ke las separe... como ke me diga ke ahi termina un procedimiento y empieza otros.. algo visual...
Responder Con Cita
  #8  
Antiguo 02-11-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.445
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Neftali
"A mano" puedes programártelo en el "Code Insight"...
Me refería a que en el "Code Insight" le puedes decir que sustituya una cadena por otra;
Le dices que esto:
"================================================="
equivales a esto:
Sep1

Y cuando en el código escribes el Sep1, el IDE de Delphi te lo sustituye automáticamente.
A eso me refería, pero tal vez no te entendí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 02-11-2006
Rayku Rayku is offline
Miembro
 
Registrado: jun 2006
Posts: 12
Poder: 0
Rayku Va por buen camino
Ok Espero Te Sirva

tengo esta funcion, bueno la coneccion no es mucho problema xq ya te la dieron arriba.

Function ListarSeries(cn: TADOConnection;var Error:String):TADODataSet;
var ADO:TADODataset;
begin
try
ADO := TADODataSet.Create(nil);
ADO.Connection := cn;
ADO.Close;
ADO.CommandType := cmdText;
ADO.CommandText := ' select distinct SerieNotaVenta from TNotaVenta order by SerieNotaVenta ';
ADO.Open;
result := ADO;
except
on E : Exception do
begin
Error:=E.Message;
result := nil;
end;
end;
end;

AQUI HAGO LA LLAMADA Y CARGO EN UN COMBO

// cargar las diferentes series
ADO := TADODataSet.Create(nil);
ADO.Connection := dmConeccion.ADOConection;
ADO.Clone(CVenta.ListarSeries(dmConeccion.ADOConection,Error));
ADO.First;
while not ADO.Eof do
begin
cbSerie.Items.Add(ADO.Fields[0].AsString);
ADO.Next;
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Varias dudas sobre el componente TDrawGrid Aprendiendo OOP 0 21-12-2004 01:50:07
varias dudas zastilla Internet 1 17-11-2004 20:16:34
Varias dudas de funciones seduerey API de Windows 9 30-04-2004 17:36:17
varias dudas sobre consultas y refresco de datos Giniromero Conexión con bases de datos 12 01-03-2004 12:50:11
Varias Dudas mauro Varios 1 10-07-2003 07:32:42


La franja horaria es GMT +2. Ahora son las 04:23:56.


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