Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Insertar datos de un Edit en Mysql desde C++Builder

Estas en el tema de Insertar datos de un Edit en Mysql desde C++Builder en el foro de C/C++ en Foros del Web. Buenas gente, de ante mano agradezco la ayuda que me brinden. El asunto es el siguiente, quiero guardar la informacion de varios Edit en una ...
  #1 (permalink)  
Antiguo 26/08/2013, 00:52
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Exclamación Insertar datos de un Edit en Mysql desde C++Builder

Buenas gente, de ante mano agradezco la ayuda que me brinden. El asunto es el siguiente, quiero guardar la informacion de varios Edit en una base de datos, ya que ahí es donde el usuario ingresa la información en una base de datos.

Si inserto valores exactos, digamos "INSERT INTO VALUES = ('1', 'asdasd', ...); no hay problema, pero cuando intento insertar la información de los edits, me tira un sql error. Proé con este código

Código:
AnsiString ElGuardado = "INSERT INTO reporte VALUES = ('"+id->Text+"','"+UniOr->Text+"','"+FechaIngreso->Text+"','"+HoraIngreso->Text+"','"+Requerimiento->Text+"','"+NombreSol->Text+"','"+NombreRecep->Text+"','"+Solucion1->Text+"','"+NombreEje->Text+"','"+FechaEgreso->Text+"','"+SerialProduc->Text+"')";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(ElGuardado);
pero no me funciona, alguno sabe como podría guardar los campos?
  #2 (permalink)  
Antiguo 26/08/2013, 07:51
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Insertar datos de un Edit en Mysql desde C++Builder

Ya lo pude resolver, dejo el código para los que tenían el mismo error

Código:
               AnsiString ElGuardado = "INSERT INTO reporte SET Unidad_organizativa= '"+UniOr->Text+"', Fecha_entrada='"+FechaIngreso->Text+"',descripcion_solicitu='"+Requerimiento->Text+"',nombre_solicitante='"+NombreSol->Text+"',nombre_receptor='"+NombreRecep->Text+"',descripcion_solucion='"+Solucion1->Text+"',nombre_ejecutor='"+NombreEje->Text+"',fecha_salida='"+FechaEgreso->Text+"',serial_reporte='"+SerialProduc->Text+"',estado_reporte='"+Estado1->Text+"',ojeto_solicitud='"+OpcionR->Text+"'";
                Query1->Close();
                Query1->SQL->Clear();
                Query1->SQL->Add(ElGuardado);
                Query1->ExecSQL();
                Query1->Close();
Sin embargo, ahora tengo otra duda. Como puedo comparar el texto de un Edit con la información de un campo de una tabla mysql. Yo tengo el programa creado con un Usuario Administrador y su clave, peroquiero que éste entre de acuerdo a la clave guardada en mysql
  #3 (permalink)  
Antiguo 27/08/2013, 06:01
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: Insertar datos de un Edit en Mysql desde C++Builder

Te respondo del lado de SQL ya que todavía no he encontrado el tiempo suficiente para usar bases de datos en c++.


Para verificar que es un usuario valido. Primero, deberías de recuperar los datos que necesitas desde la tabla correspondiente. Luego, debes de comparar lo que recuperaste con lo que ingreso el usuario (asegúrate de convertir los datos recuperados a sus tipos correspondientes).

Para recuperar los datos podes utilizar cualquiera de las 2 siguientes consultas:

Código SQL:
Ver original
  1. SELECT password FROM usuario WHERE username= ?;

La consulta anterior solamente te va a recuperar la contraseña de la tabla usuario donde el nombre de usuario sea el que coloques en el signo de interrogación.
Del resultado de la consulta, deberías de comparar lo obtenido con la contraseña que el usuario coloque en el edit. Si la consulta no devuelve ningún resultado, el usuario no existe.


Código SQL:
Ver original
  1. SELECT id FROM usuario WHERE username= ? AND password= ?;

la consulta anterior te devuelve solamente el id de la tabla usuario donde:

- la columna username sea igual a lo que coloques en el 1er signo de interrogación.
- La columna password sea igual a lo que coloques en el 2do signo de interrogación.
- Si la consulta no devuelve ningún resultado, el usuario no existe ó se ingresó una contraseña incorrecta.




Ahora, en cuanto a la insercion de datos dentro de la tabla, proba la siguiente consulta:

Código SQL:
Ver original
  1. INSERT INTO reporte(Unidad_organizativa,
  2.  Fecha_entrada,
  3.  decripcion_solicitu,
  4.  nombre_solicitante,
  5.  nombre_receptor,
  6.  descripcion_solucion,
  7.  nombre_ejecutor,
  8.  fecha_salida,
  9.  serial_reporte,
  10.  estado_reporte)
  11. VALUES(\'UniOr->Text\',
  12. \'FechaIngreso->Text\',
  13. \'Requerimiento->Text\',
  14. \'NombreSolicitante->Text\',
  15. \'NombreReceptor\',
  16. \'Solucion1->Text\',
  17. \'NombreEje->Text\',
  18. \'FechaEgreso->Text\',
  19. \'SerialProduc->Text\',
  20. \'Estado1->Text\',
  21. \'OpcionR->Text\');



El insert funciona de la siguiente manera:

Código SQL:
Ver original
  1. //si se elijen las columnas donde se van a insertar valores
  2. INSERT INTO nombre_tabla(columnaA, columnaB, ... , columnaN) VALUES(valorColumnaA, valorColumnaB, ..., valorColumnaN);
  3.  
  4. //si se insertan valores en todas las columnas se pueden obviar el 1er paréntesis,
  5. //pero tenes que asegurarte de que los valores ingresados en el paréntesis sean
  6. //la misma cantidad que la cantidad de columnas de la tabla y se encuentren en el
  7. //orden en que están dispuestas las columnas en la tabla
  8. INSERT INTO nombre_tabla VALUES(valorColumnaA, valorColumnaB, ..., valorColumnaN);



2 cosas te recomiendo que aprendas o mejores en caso de que ya lo sepas:

- Normalización de base de datos (por lo menos hasta la 3er forma normal).
-código SQL (es un tutotial de la w3cschools y está en ingles).


saludos y espero que te haya servido. Cualquier cosa volve a preguntar.
  #4 (permalink)  
Antiguo 27/08/2013, 06:05
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Insertar datos de un Edit en Mysql desde C++Builder

Muchas gracias todo funcionó perfecto, ya había resuelto la inserción de datos y la consulta, pero la manera en la que lo colocaste es más eficiente. Tema solucinado.

Etiquetas: builder, c++, edit, insert, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:46.