Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   MySQL-MyManager-Novato (https://www.clubdelphi.com/foros/showthread.php?t=37500)

anghell77 15-11-2006 05:32:01

MySQL-MyManager-Novato
 
Buen Día Iberia, Buenas noches México, Buenas, Buenos, Tardes, Mañanas, Noches, Días, al resto del mundo de donde no conozco los usos horarios. :o:D:D

MyManager,
MySQLAccess
Delphi7.


Agrego un componente MyConnection, y realiza a la perfección la conexión.

Ahora, como vengo totalmente de Paradox, yo ahí hacía una inserción parametrizada mediante el código SQL:

Código SQL [-]
Insert into Tabla (Campo1, Campo2, Campo3)
Values (:e_Parametro1,:e_Parametro2,:e_Parametro)

Luego en un evento, por decir, un botón de "Guardar", el código:

Código Delphi [-]
QueryX.Close;
QueryX.ParamByName('e_Parametro1').AsString:=trim(EditX.Text);
QueryX.ParamByName('e_Parametro2').AsString:=trim(EditY.Text);
QueryX.ParamByName('e_Parametro3').AsString:=trim(EditZ.Text);
QueryX.ExecSQL;

//Obviamente, el AsString, es variable dependiendo del tipo de dato, así como los Componentes Edit...etc

Pero ejecutaba con EXECSQL.

A ver, aquí el problemín...con los componentes MyQuery, enlazada a un MyConnection, aparecen en el Object Inspector cinco apartados:
1.-SQL, 2.-SQL Delete, 3.-SQL Insert, 4.-SQL Refresh y 5.-SQL Update.

Que hago con ellos???.....

PREGUNTILLAS:
A)¿Escribo un código nuevo de inserción en SQL INSERT?
B)¿Lo mismo, para un Update, Delete??
C)¿Como hago que se ejecute el código? (Un equivalente a EXECSQL).

Agradezco la atención compañeros....
{Saludos}

dec 15-11-2006 05:43:48

Hola,

Puedo equivocarme, pero, me parece que se trata de lo siguiente. En el componente "MyQuery" debes contar con métodos "Insert", "Delete", "Update", etc. Pues bien, en las propiedades "SQL Insert", "SQL Update", etc., puedes situar las sentencias SQL que quieras que se ejecuten al llamar al método correspondiente. Es decir, cuando llames al método "Update" de "MyQuery", el componente ejecutará la sentencia SQL contenida en la propiedad "SQL Update", y así con el resto de métodos y propiedades de que hablamos.

Creo que se trata de eso, más o menos, vaya. ;)

anghell77 15-11-2006 05:46:21

Excelente!!!
Estuve maquinando ese mismo pensamiento....
Lo voy a poner en prueba y os comunico....

Merci...

EDITO:
Curioso....
Añadí al método SQL Insert:

Código SQL [-]
Insert into Tabla (Campo1, Campo2)
Values (:e_Parametro1,:e_Parametro2)

el código lo dejé:

Código Delphi [-]
MyQuery1.Close;
MyQuery1.ParamByName('e_Parametro1').AsString:=trim(DBEdit1.Text);
MyQuery1.ParamByName('e_Parametro2').AsString:=trim(DBEdit1.Text);
MyQuery1.???? //Aquí buscaba la instrucción que ejecutara la instrucción.  Mirad más abajo lo que analizo.

Este código, me daba un error: Parameter 'e_Parametro1' not found.
Así que fui a la pestañita de parámetros y me abre una pequeña consolita con cinco pestañas: SQL, Update SQL, SQL Generator, Parameters y Macros.
En la pestaña "Parameters" no hay nada, ni permite agregar un cojón :D:D (lo siento, es que escucho mucho a Sabina y me encantan como suenan las malas palabras en español de españa)...
Por simple curiosidad, agregué el mismo código SQL, en el método SQL lo quité del SQL INSERT y pude agregar en el código
Código Delphi [-]
MyQuery1.Execute;
Con ello funcionó la inserción....
Obvio, debe haber algo, ALGO, ALGOOO, que anda no del todo bien....os prometo seguir probando para dar con el proceso correcto empleando el método SQL INSERT,
publico las pruebillas, siempre y cuando tengan algo de interesantes, y no sean tan pobres que digan algo bueno....

{Saludos} //Sigo aprendiendo

roman 15-11-2006 06:49:18

Como lo haces está bien. Las sentencias SQLInsert, SQLUpdate y SQLDelete son el equivalente a la componente TUpdatSQL del BDE así que más bien tiene otro uso, no para ejecutar la sentencia SQL, que como ya viste, se hace con Execute. En estas componentes, Execute sirve tanto para sentencias INSERT, UPDATE, DELETE, como para sentencias SQL.

// Saludos

anghell77 15-11-2006 06:56:52

Entonces, estamos hablando, de que, las instrucciones SQL que yo haga, como Inserciones o Actualizaciones o simplemente borrar desde X tabla, las puedo seguir poniendo en la cláusula SQL, sin tener que ir directamente a su, por decir, correspondiente??

Por ejemplo, borrar de X tabla:

Código SQL [-]
Delete from XTabla where CampoZ= :Parametro

Puedo escribir éste código directamente sobre el método SQL, sin tener que hacerlo en SQL DELETE?....

Pregunto, porque hace unos momentos como dije, el menú desplegable de las opciones que aparece cuando escribimos código y luego "." no me aparecía "EXECUTE", si no hasta que lo que tenía en el método SQL INSERT lo hice en el SQL (normal, de alguna manera)....

Ok, entonces, ahora que está más confirmado...tenemos que para:
BDE-------------MySQL
ExecSQL--------Execute
Cierto?......Cierto....pa que pregunto....:D:D:D:)

Agradeciendo....
{Saludos}

Diegochr 11-12-2006 18:25:33

mySql..
 
Hola amigos... estoy por dejar paradox.. voy a intentar con mySQL, ya tengo instalado mySQL 5.0.20, con que gestor puedo crear tablas y demas yerbas?
tengo EMS SQL manager.. pero nose como se usa con mySQL..


La franja horaria es GMT +2. Ahora son las 11:26:12.

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