Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Escribir datos en columna de un DBgrid, a traves de un Tedit (https://www.clubdelphi.com/foros/showthread.php?t=67018)

aanil 24-03-2010 02:59:56

Escribir datos en columna de un DBgrid, a traves de un Tedit
 
Hola a todos.

En el codigo de consulta que muestro a continuacion quiero escribir datos numericos en la columna que dice 1erParcial a traves de un TEdit. Esto lo tengo funcionando a traves de un DBEdit, no creo que sea correcto hacerlo asi.

Despues si hago otra consulta y la columna 1erParcial cambia por otra columna que se llama 2doParcial, que tambien se le pueda escribir datos.

Este es el codigo.
Código SQL [-]
sql.Clear;
sql.Text := 'select MATRICULA, NOMBRES, CLAVE, PARCIAL1 As 1erParcial from tabla1 where clave =' + quotedstr(combobox1.Text );
open;
edit;
form3.DBGrid1.Columns[3].ReadOnly :=false;
form3.DBGrid1.Columns[0].ReadOnly :=true;
form3.DBGrid1.Columns[1].ReadOnly :=true;
form3.DBGrid1.Columns[2].ReadOnly :=true;
dbedit1.DataField := ('1erParcial');


Saludos

Caral 24-03-2010 03:33:10

Hola
No entiendo.
Saludos

aanil 24-03-2010 03:46:27

Hola Caral.

Observa esto.

Cuando yo hago una consulta como la que esta mas arriba, sale un listado con 4 columnas, la ultima columna [3] es a la que se le van a colocar unos datos, (notas), eso yo lo puedo hacer escribiendo directamente en la columna. También yo lo tengo con un DBEdit, (funciona mas o menos),pero lo que yo quiero es que se pueda escribir el dato en la referida columna a traves de un TEdit.

La columna [3] es la que recibirá el dato y es siempre para todas las consultas, solo cambiara en el nombre de la columna.

Saludos.

Caral 24-03-2010 03:53:15

Hola
No entiendo muy bien, pero si quieres que lo que escribas en el edit se guarde lo que haces es una relacion entre el edit y el query que te trae los datos, despues del edit y antes del post:
Código Delphi [-]
sql.Clear;
sql.Text := 'select MATRICULA, NOMBRES, CLAVE, PARCIAL1 As 1erParcial from tabla1 where clave =' + quotedstr(combobox1.Text );
open;
edit; // edito
Edit1.text:= query1.Filebyname('1erParcial').AsString; // Comparo
form3.DBGrid1.Columns[3].ReadOnly :=false;
form3.DBGrid1.Columns[0].ReadOnly :=true;
form3.DBGrid1.Columns[1].ReadOnly :=true;
form3.DBGrid1.Columns[2].ReadOnly :=true;
Post; // Guardo
// dbedit1.DataField := ('1erParcial'); // a esto no le veo razon de ser
Saludos

movorack 24-03-2010 04:59:29

esto está algo enredado... pero quisiera saber porque crees que no es correcto escribir los datos directamente en el DBEdit.

aanil 24-03-2010 15:05:28

Hola

Tu pregunta es buena, pués hace varias semanas que yo presenté un código para agregar datos en una tabla usando DBEdit, no recuerdo cual de los que me ayudan me sugirieron que usando TEdit era mejor para escribir datos en una tabla.

Lo de inseguro no lo sé, pero cada vez que tengo que escribir un dato en la columna correspondiente que es numérica, tengo que borrar el cero (0) que entra en el foco del DBEdit, pues ya la tabla tiene dicho cero (0).

Saludos.

aanil 24-03-2010 15:07:31

Hola Caral.

Como me sugiere el código anterior, mas o menos así lo hice anterior a pedir la ayuda, lo único que estaba en un orden que no hacia nada.

Voy a probar este.

Gracias.

aanil 24-03-2010 18:20:11

Hola Caral,

No se donde podra ser que esta el error, el codigo sigue dando el mismo error
Código Delphi [-]
Edit1.text:= query1.Filebyname('1erParcial').AsString; // Comparo

Y estos los mensajes que presenta como error.

[Error] Unit3.pas(158): Undeclared identifier: 'Filebyname'
[Error] Unit3.pas(158): Missing operator or semicolon
[Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit3.pas'

Saludos.

roman 24-03-2010 18:23:42

Cita:

Empezado por aanil (Mensaje 358091)
me sugirieron que usando TEdit era mejor para escribir datos en una tabla.

Esto no tiene ningún sentido. Asesórate con otras personas.

// Saludos

aanil 24-03-2010 18:37:31

Gracias Roman

ElKurgan 25-03-2010 07:24:19

Cita:

Empezado por aanil (Mensaje 358122)
Hola Caral,

No se donde podra ser que esta el error, el codigo sigue dando el mismo error

Código Delphi [-]Edit1.text:= query1.Filebyname('1erParcial').AsString; // Comparo



Y estos los mensajes que presenta como error.

[Error] Unit3.pas(158): Undeclared identifier: 'Filebyname'
[Error] Unit3.pas(158): Missing operator or semicolon
[Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit3.pas'

Saludos.

¿No será "FieldByName" en lugar de "FileByName"

Un saludo

aanil 25-03-2010 21:22:37

Hola ElKurgan

Eso era lo que pasaba que estaba mal escrito el código.

Gracias.


La franja horaria es GMT +2. Ahora son las 01:54:04.

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