Sei sulla pagina 1di 8

Dbedit Y Ado

Hola ------ tengo un problema, se guardar lo que tengo en un dbedit en una tabla, pero cada vez que paso a otro dbedit se guarda automaticamente en la tabla y yo lo que quiero es que si lo que escribi en el dbedit ya existe en un determinado campo de la tabla no me lo guarde y me diga que ya existe y si no que siga guardando........ayudenme

RE
Yo te recomiendo en ese caso que uses un Edit para cada campo. De esta manera haces vos por voluntad propia el insert, de lo contrario lo hace automatico la coneccion DBEdit. Entonces q la hora de insertar lo haces previa busqueda Cdigo: Text 1. 2. if not (Tabla.Locate('Campo1',Edit1.text, [loPartialKey,loCaseInsensitive])) then begin 3. 4. //Aqui una de las dos Append o Edit 5. //Tabla.Edit; // Edita el registro Actual 6. Tabla.append; //Agrega nuevo Registro 7. TablaCampo1.asString:= Edit1.Text; 8. Tabla.post; 9. end; 10. 11.

Para que te reconosca "TablaCampo1" todo junto haces doble click sobre la tabla y le das addAll, lo que se hace con esto es dar acceso directo a cada registro de la tabla. Lo que esta a continuacion ".asString" es la manera que lo vas a tratar, puede que el campo sea o no string. Si no para no tener que modificar tanto tu codigo deberias ir probando con el estado de edicion de la tabla, en el onchange del DBEdit verificar que no exista el dato que se esta escrib. Si existe que avise. Bueno espero te sirva, Suerte.

////////////////////////////////////////**************//////////////////////////////////////////

ayuda con conexion de DBEdit a Query

Hola mi espero que me puedan ayudar soy un poco novato en esto mi problema es que estoy asiendo una base de datos y uso SQl cuando hago una bsqueda usando el DBGrid para mostrar mis datos no tengo ningn problema pero quiero mostrar los datos en un DBEdit como puedo conectarlo a la tabla porque segn entiendo me da error porque el DBGrid pone la tabla completa y el DBedit tienes que decirle que DBeid va con cada campo, y no tengo idea de como hacer eso porque no me permite usar la propiedad Datafiel o se deve aser programando y no en las propiedades, espero alguien me pueda ayudar de antemano agradezco su tiempo.
RE: CARAL Hola Para conectarse a una base de datos se usa, en el caso de los componentes ADO, no se con que te conectas: 1-Un conector: adoconnection. 2-Un adotable o adoquery 3-Un DataSource 4-Un DBGrid Bien, sabiendo esto, veremos como va el asunto: Nos conectamos con el acoconnection, enlazamos la tabla con el adotable (o query), conectamos el datasource al adotable, conectamos el dbgrid al datasource y ya. Bien, hay dos formas de conectar un dbedit: 1- generado desde el componente adotable o adoquery, como: dandole doble click al componente (adotable o query) sale una pantallita, en esta se le da click derecho, ADD, ok, con esto se tendran todos los campos que se incluyeron en ese componente, simplemente se arrastran hacia el form y genera el dbedit necesario y ya conectado. 2- Colocas un dbedit, lo enlazas al datasource, le colocas el datafiel que quieras y ya.

RE: LEPE Para ver los datos en el DBGrid, tendrs asociado un Datasource a dicho Grid. Ahora pones un DBEdit y asignas sus propiedades: - DataSource: (el mismo del grid) - DataField : (el campo que sea). Cuando le des un clic a un registro del DBGrid, los datos se vern en el DBEdit. Es decir, el DBEdit mostrar los datos del Registro activo en el Grid (que solo puede ser 1 a la vez).

////////////////////////////////////////**************//////////////////////////////////////////

Re: [Delphi] Sintaxis en Delphi Alejandra Tu pregunta es muy amplia. DBEdit es un componente para editar en modo texto un campo. Tenes que conectar el DBEdit a un TDataSource, y ese TDataSource a un TTable que est conectado a algo que se conecte con la tabla... digo asi porque nunca us oracle. Una vez que tens la cadena armada... Tabla.Inserte crea un nuevo registro, Tabla.Post lo graba... Tabla.Delete lo borra... Saludos Z

////////////////////////////////////////**************//////////////////////////////////////////

Asunto: busqueda con dbedit Autor: veronica (10 intervenciones) Fecha: 23/07/2004 01:17:50 hola tengo un problema necesito hacer una bussqueda a los registros bd con dbedit pero no se como hacer para que cuando yo me posiciones en un dbedit, por ejemplo nombre ponga el nombre del persona que estoy buscando y me acomlpete toda su informacion para poder modificar o borrar por favor necs ayuda urgente Tambin te puede interesar...

- Cursos de Delphi - Temas de Delphi - Cdigo fuente de Delphi Asunto: RE:busqueda con dbedit Autor: jose julian (46 intervenciones) Fecha: 23/07/2004 03:38:51 dejame ver si entendi: quieres hacer una busqueda y q la informacion aparesca en los DBEdits, pues con el echo d q manipules las propiedades DataSource y DataField de los DBEdit sera mas q suficiente para q la informacion apareca en los demas

no entiendo muy bien tu pregunta, pero dejame ver si puedo captar algo. Quieres tener un dbedit que al escribirle un nombre y dar enter, te visualice la informacin relacionada con ese dato??? Mira, segn se, no puedes hacer bsquedas mientras tengas algn control enlazado a la base de datos. lo que yo te recomiendo, es utilizar un textbox. Al presionar intro lo que haras es lo siguiente: Si utilizas ADO, se me hace ms fcil, basta con utilizar un DataSet ( que tenga su enlace con un objeto Connection obviamente ) y pondra lo siguiente

DataSet.Command.CommandText := 'Select * from Tabla Where Campo="' + textbox1.text + '";' Esto buscar la informacin que tengas que coincida con el valor del textbox de ah, solo tienes que sacar el valor de los dems campos y escribirlos en el control correspondiente

////////////////////////////////////////**************//////////////////////////////////////////

Insertar en base de datos con edits


Hola hermano necesito realmente que me puedas ayudar Necesito insertar datos en una base de datos pero lo necesito acer a travs de 3 edit, se que sale ms fcil utilizar los dbedit para ingresar los datos, pero estoy realizando unos datos en los edit que no he podido realizar en los dbedit por

eso necesito usar los edits Tengo 5 campos en mi base de datos:Cdigo, Nombre, Precio, impuesto, Precio Total y los que necesito que me introduzcan los datos por edits son precio, impuesto, precio Total, me dicen que utilice insert into, pero realmente no se como usarlos ni que necesito para que funcionen. Para insertar datos en la base de datos estoy usando adorable, por favor espero que me puedas ayudar. ************

Para insertar los datos necesitaras de un botn que haga la funcin de insercin... ademas, un adoquery para realizar le instruccin... En el click del botn puedes poner el siguiente cdigo: adoquery1.sql.text := 'insert into nombretabla values (' +codigo.text + ', ' + nombre.text + ',' + precio.text + ',' + impuesto.text + ',' + preciototal.text +')'; adoquery1.execsql; Teniendo encuenta que el cdigo.text seria el edit con el cdigo de lo que necesitas y nombre.text tambin... ahora si lo que quieres es actualizar solo los 3 valores que metan en los edits, la instruccin seria: adoquery1.sql.text := 'update nombre tabla set precio =' + precio.text + ', impuesto =' + impuesto.text + ', preciototal = ' + preciototal.text + ' where codigo = ' + codigo.text; Previamente debes validar que los valores en los edits sean numricos para que no te vaya a marcar ningn error al querer hacer la actualizacin... Espero que t sirva Usuario Gracias por lo que me has dicho, he logrado hacerlo de esa manera pese a que realmente casi no entiendo nada de querys, fue dificil.. sin embargo me has ayudado a aclarar ciertas cosas. He logra insertar los datos en la tabla el problema que no encuentro como poder hacer que se vean en el dbgrid despues que los inserto el codigo que utilizaba antes para hacerlo era table1.active:=False; table1.active:=true; pero este solo me resulta cuando utilizo dbedits sin query, Pero ahora no puedo hacer que se vean he intentado con query.close; query.open; pero me da error con el open. tambien lo he intentado con query.active:=true; Pero no funcionan realmente necesito que me ayudes y gracias por la explicacin de antes, pero como resuelvo que pueda ver los datos por el dbgrid.

***********/

Lo que pasa es que al hacerlo como te dije, se estn insertando directamente en la base de datos y no estn ligados al dbgrid ni al adorable... sino como algo separado... lo q tendras q hacer seria poner table1.refresh; inmediatamente despues de poner el query1.execsql.... esto es para q cualquier operacion q hayas hecho con el query se "refresque" o actualice en el adotable... El dbgrid debe estar ligado al adorable... para que se muestre la informacin de la tabla... //////////////* Gracias hermano de todo corazn, todas tus explicaciones son certeraz. Aunque el refresh no pude utilizarlo porque me daba error, pero entend que solo deba poner table1. close; table1.open; y con ello resolv. No tengo palabras para expresarte mi gratitud por toda la ayuda brindada, las explicaciones y el tiempo que me has dado. No tengo las suficientes gracias para darte por todo. Espero que cualquier otra duda que pueda tener me ayudes como lo has hecho. Realmente muchas gracias

////////////////////////////////////////**************//////////////////////////////////////////

Extraer un registro Una pregunta tonta, necesito extraer un determinado registro de una tabla y pasarlo al texto de un TEdit (sin usar DBEdit). Por ejemplo: una tabla con los campos nombre y direccion, necesito poner en el edit la direccion que coincida con el nombre Pepe. Cul es la mejor forma de hacerlo?

///////////***

Te refieres a poner en el edit el valor del campo Nombre de la consulta??? En ese caso: Cdigo:
editNombre.text:= queryX.fieldByName('Nombre').asString;

///////////*** ejemplo sencillo Tendrias que ser mas especifico con tu pregunta que Db o componentes estas

usando. Pero seria algo como sigue: conectar la DB(objeto de conexion a db) y Abrir la tabla Ttable o TSQLClienDataset y un datasource. Despues de tener conectadas la tabla puedes usar Agregar en tu form el campo TEdit y en el evento on change agrega el codigo, con el cual buscar en un determinado campo el valor a buscar separado por comas DataSet1.Locate(campos,valorbuscar,[loCaseInsensitive,loPartialKey]); tedit3:= DataSet1.Fields[1].Value; //almacena en el tedit el valor del campo 1, inicia de 0 y ya. haber si te sirve. te recomiendo esta pagina para que veas los trucos www.q3.nu

#4 28-09-2004 Registrado: may 2003 Walterdf Registrado Ubicacin: Buenos Aires Posts: 152

Muchas gracias, eso era lo que necesitaba, con Locate anduvo de 10!!!. Un abrazo

////////////////////////////////////////**************//////////////////////////////////////////

////////////////////////////////////////**************//////////////////////////////////////////

Potrebbero piacerti anche