FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cual es la Mejor forma de Agregar,Modificar y Eliminar en ADO ?
No se si hay una única forma, porque esta va a hacer la 1º vez que trabaje con bd, jeje, y preguntaba nomás.- por codigo se puede ??.-
saludos |
#2
|
||||
|
||||
Hola
Por supuesto que se puede, hacer todo lo que quieres con ADO. Y claro que se puede por codigo, usando sql. Saludos |
#3
|
|||
|
|||
Hola, tengo estas cosas, en form tengo 2 edit, en uno va el nombre y en el otro un numero;
Código Delphi [-]agregar:='Insert Into TGrupos (Nombre,Cod_G) Values ('''+Edit1.Text+''', '''StrToInt(Edit2.Text)'')'; FormGrupos.ADOQuery1.SQL.Add(agregar); y me tira error en el parte StrToInt(Edit2.Text)'')'; que puede ser ? |
#4
|
||||
|
||||
Cita:
No se para donde apunta tu pregunta, por lo que la respuesta tampoco sabría decirla. Si te describes mejor, puede que te aporte una respuesta más certera. Saludos, |
#5
|
||||
|
||||
Hola
Bueno, a por otra. El uso de parametros puede ser un poco mas de trabajo inicial, al final ayudara mucho, te lo aconsejo. Saludos |
#6
|
|||
|
|||
que genia, una vez muchas gracias !!!!
|
#7
|
|||
|
|||
Hola, ahora antes de agragar tendria que fijarme si ya no existe ese grupo, como se busca con el locate ??
|
#8
|
||||
|
||||
Hola
No crees que cada vez pones menos explicaciones?. Me parece que es importante toda la informacion que se de, el codigo, la idea que se tenga, etc. Si eres tan escueto en tus preguntas, dificilmente alguien te podra dar alguna solucion. Por mi parte, necesito mas informacion. Que es lo que tienes? Que quieres hacer? En que parte del programa? Saludos |
#9
|
|||
|
|||
sisi, lo que pasa es que voy a mil !!! jeje, bueno, viste el codigo de agregar ?? ese anda de maravillas, ahora lo que quiero antes de agregar, que busque primero si ya existe ese nombre .-
|
#10
|
||||
|
||||
Hola
El locate lo uso de vez en cuando tambien, pero en otras consultas. Saludos |
#11
|
|||
|
|||
muchas gracias Caral, y cuando es conveniente usar el Locate ?
|
#12
|
|||
|
|||
Hola, de nuevo, ahora me salta un error ,acá pongo el codigo para que vean:
Código Delphi [-]procedure TFormGrupos.BitBtn1Click(Sender: TObject); //Agrega un Grupo sino está en la Tabla TGrupos. Var agregar:String; CO:Integer; begin //Primero Buscar el Registro para ver si está . Y verifica tambien el codigo FormGrupos.ADOQuery1.Active := False; FormGrupos.ADOQuery1.SQL.Text := 'Select Nombre From TGrupos WHERE Nombre = :Nombre'; FormGrupos.ADOQuery1.Parameters.Parambyname('Nombre').Value:= Edit1.Text; FormGrupos.ADOQuery1.Active := True; If Edit1.Text = FormGrupos.ADOQuery1.Fields[0].Value then begin MessageDlg('El Grupo : '+Edit1.Text+' ya Existe ',mtError,[mbOK],0); Edit1.text:=''; Edit1.SetFocus; end else begin //Ahora me fijo el Código si ya existe. //FormGrupos.ADOQuery1.SQL.Clear; FormGrupos.ADOQuery1.Active := False; FormGrupos.ADOQuery1.SQL.Text:= 'Select Cod_G TGrupos From TGrupos Where Cod_G = :Cod_G'; FormGrupos.ADOQuery1.Parameters.Parambyname('Cod_G').Value:= StrToInt(Edit2.Text); FormGrupos.ADOQuery1.Active:=true; If (StrToInt(Edit2.Text)) = FormGrupos.ADOQuery1.Fields[0].Value Then begin MessageDlg('El Código: '+Edit2.Text+', ya existe', mtError,[mbOk],0); Edit2.Text:=''; Edit2.SetFocus; end else //Esta todo bien entonces agrego. begin FormGrupos.ADOQuery1.Active := False; FormGrupos.ADOQuery1.SQL.Text:= 'Insert Into TGrupos (Nombre, Cod_G) Values (:Nombre, :Codigo)'; FormGrupos.ADOQuery1.Parameters.Parambyname('Nombre').Value:= Edit1.Text; FormGrupos.ADOQuery1.Parameters.Parambyname('Codigo').Value:= StrToInt(Edit2.Text); FormGrupos.ADOQuery1.ExecSQL; end; end; y lo que esta en verde ,me tira error :"Error de sintaxis (falta operador) en la expresion de cunsulta Cod_G TGrupos" |
#13
|
||||
|
||||
Hola
No veo ningun error de sintaxis, puede ser que que campo no sea como lo planteas. Prueba asi: Saludos |
#14
|
||||
|
||||
Hola
Cuando hay alguna duda de lo que envia o como lo envia la consulta es bueno generar un mensaje, asi veras exactamente donde esta el error. Algo asi: Antes de abrir o activar el query. Si la consulta esta mal hecha o no coinciden los datos, los veras facilmente. Saludos |
#15
|
|||
|
|||
ya solucione el error, esta poniendo Select Cod_G TGrupos (cuando TGrupos no es un campo de la tabla , sino la tabla misma) jeje, ahora me sale otro error: " No se han especificados algunos valores para alguno de los parametros solicitados" , el error lo tira en el mismo lugar donde lo tiró antes
|
#16
|
||||
|
||||
Hola
La logica del mensaje es: No has puesto nada en el edit2.?? Parametros??????? Cuales tienes, ya los ves????, as especificado los parametros???. La computación (vista desde el punto de vista de este Novato) es logica. Hay cosas amigo en las que no se pude ayudar, hay que buscarlas en el programa, tratar de analizarlas y buscarle la solucion. Siento que si sigo haciéndote la tarea no te estoy haciendo ningún favor, no vas a aprender la lógica de la programación. No digo que no te quiera ayudar, digo que tienes que caminar un poco solo, asi vas a aprender mas. Busca el problema, la lógica del mismo y si después de eso no puedes solucionarlo entonces llama a un exorcista. o bien este Novato tratara de ver como te ayuda. Saludos |
#17
|
|||
|
|||
no se, es mas puse un edit mas para poner ahí lo que me devolvia la consulta y me tira el mismo error, y el edit2 tiene el numero (el cod) que uso para hacer la consulta, hasta intenté hacer otro adoquery2, para que no sea al mismo adoquery1, y me sigue tirando el mismo error
|
#18
|
||||
|
||||
Hola
Codigo amigo, codigo. As cambiado algo?, donde?, que?. Saludos |
#19
|
|||
|
|||
Código Delphi [-]procedure TFormGrupos.Edit1Exit(Sender: TObject);
begin //Si el Campo del Nombre no está completo salta un error. If (Edit1.Text='')then begin MessageDlg('Este Campo debe completarse ',mtError,[mbOk],0); Edit1.SetFocus; end; end; procedure TFormGrupos.BitBtn1Click(Sender: TObject); //Agrega un Grupo sino está en la Tabla TGrupos. Var agregar:String; CO:Integer; begin //Primero Buscar el Registro para ver si está . Y verifica tambien el codigo FormGrupos.ADOQuery1.Active := False; FormGrupos.ADOQuery1.SQL.Text := 'Select Nombre From TGrupos WHERE Nombre = :Nombre'; FormGrupos.ADOQuery1.Parameters.Parambyname('Nombre').Value:= Edit1.Text; FormGrupos.ADOQuery1.Active := True; If Edit1.Text = FormGrupos.ADOQuery1.Fields[0].Value then begin MessageDlg('El Grupo : '+Edit1.Text+' ya Existe ',mtError,[mbOK],0); Edit1.text:=''; Edit1.SetFocus; end else begin //Ahora me fijo el Código si ya existe. //FormGrupos.ADOQuery1.SQL.Clear; //FormGrupos.ADOQuery1.Active := False; FormGrupos.ADOQuery1.SQL.Text:= 'Select Cod_G From TGrupos Where Cod_G = :Cod'; FormGrupos.ADOQuery1.Parameters.Parambyname('Cod').Value:=StrToInt(FormGrupos.Edit2.Text); FormGrupos.ADOQuery1.Active:=true; If StrToInt(Edit2.text) = FormGrupos.ADOQuery1.Fields[0].Value Then begin MessageDlg('El Código: '+Edit2.Text+', ya existe', mtError,[mbOk],0); Edit2.Text:=''; Edit2.SetFocus; end else //Esta todo bien entonces agrego. begin FormGrupos.ADOQuery1.Active := False; FormGrupos.ADOQuery1.SQL.Text:= 'Insert Into TGrupos (Nombre, Cod_G) Values (:Nombre, :Codigo)'; FormGrupos.ADOQuery1.Parameters.Parambyname('Nombre').Value:= Edit1.Text; FormGrupos.ADOQuery1.Parameters.Parambyname('Codigo').Value:= StrToInt(Edit2.Text); FormGrupos.ADOQuery1.ExecSQL; end; end; he probado mandandole el numero directo es decir : FormGrupos.ADOQuery1.Parameters.Parambyname('Cod').Value:= 4 por ejemplo y salta el mismo error |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cuál es la Mejor forma de Eliminar Conexiones Clientes de un Server Indy | R_Richards | Internet | 4 | 22-07-2010 15:11:09 |
Eliminar Codigo Cual es la mejor Forma ? | sierraja | Varios | 1 | 12-04-2007 00:41:00 |
cual es la mejor forma de logearse a mysql... | Arturo | MySQL | 1 | 11-10-2006 17:45:01 |
Cual es la mejor forma de coneccion con sql server 2000 | alexander66 | MS SQL Server | 3 | 21-07-2006 09:59:58 |
cual es la mejor forma ? | martita | Varios | 14 | 07-07-2005 19:35:55 |
|