Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-12-2006
Pook Pook is offline
Miembro
 
Registrado: abr 2006
Posts: 17
Poder: 0
Pook Va por buen camino
funciones Update e Insert usando libmysql.dll

Pues verán, estoy probando la conexión a mysql desde delphi y a la hora de leer datos desde una bbdd de una página web todo me tira bien, pero hete aqui que no se como hacer ni el update de una tupla ni el insert de una nueva, así que si alguno sabe como hacerlo le ruego me lo explique, o en su defecto, me dejase algún ejemplillo.

Aqui una muestra de mi código:

Código Delphi [-]
procedure TItems.BModClick(Sender: TObject);
  var
    Cadena: string;
  begin
    Conexion; //Crea la conexión a la bbdd
    Trabajando; //Lee una serie de opciones
    Cadena := 'UPDATE bbdd SET ';
    Cadena := Cadena + 'foto = "'+EDirFoto.Text+'"';
    Cadena := Cadena + ' Nombre = "'+ENombre.Text+'"';
    Cadena := Cadena + ' Clase = "'+EClase.Text+'"';
    Cadena := Cadena + ' Peso = "'+EPeso.Text+'"';
    Cadena := Cadena + ' Slots = "'+ESlots.Text+'"';
    Cadena := Cadena + ' Ataque = "'+EAtaque.Text+'"';
    Cadena := Cadena + ' Propiedad = "'+EProp.Text+'"';
    Cadena := Cadena + ' NivelA = "'+ENivel.Text+'"';
    Cadena := Cadena + ' NivelR = "'+ENivReq.Text+'"';
    Cadena := Cadena + ' Drops = "'+EDrop.Text+'"';
    Cadena := Cadena + ' Descripcion = "'+MDesc.Text+'"';
    Cadena := Cadena + ' Trabajos = "'+Trabajos+'"';
    Cadena := Cadena + ' WHERE Nombre="'+ENombre.Text+'";';
    mysql_query(@mysqlcon, PChar(Cadena));
    presults := mysql_store_result(@mysqlcon);
  end;

El código se ejecuta sin errores, pero me da de que la función mysql_query no funciona en un update ni en un insert...

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 14-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Seré curioso?? Que usas para conectarte...tu codigo se parece mucho a como se hace en PHP
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 14-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Da la impresión de que utiliza directamente libmysql.dll através de alguna interfaz pascal como por ejemplo mysql.pas. Yo, en su momento llegué a usarla e incluso me programé algunas clases que facilitaban la labor pero pues es hacerla demasiado al héroe, pienso yo. Y sí, se parece mucho a php porque se basan en lo mismo.

// Saludos
Responder Con Cita
  #4  
Antiguo 14-12-2006
Pook Pook is offline
Miembro
 
Registrado: abr 2006
Posts: 17
Poder: 0
Pook Va por buen camino
Hola

Roman está en lo cierto, uso el mysql.pas y el procedure de conexión es el siguiente:

Código Delphi [-]
procedure TItems.Conexion;
  var
    cadena: string;
  begin
      mysql_connect(@mysqlcon, 'DIRECCIONIP', PChar('USUARIODELABBDD'), PChar('PASSWORDDELUSER'));
    if mysqlcon.net.last_errno <> 0 then
      begin
        ShowMessage (Trim(mysqlcon.net.last_error));
        exit;
      end;
    if mysql_select_db(@mysqlcon, 'BASEDEDATOS') <> 0 then
      begin
        mysql_close(@mysqlcon); // Desconectar
        ShowMessage('No se pudo abrir la base de datos "BASEDEDATOS"');
        exit;
      end;
  end;

Ese el el procedure de conexión... En cuanto a la duda que expuse, todavía no he encontrado una solución... Roman, has dicho que hiciste algo con esta interfaz, no tienes alguna idea que pueda ayudarme? te estaría muy agradecido ^^

Cita:
Perdón por la gilipollez, he quedado como un memo... como siempre, el error reside en lo más fácil...
El error era simple y llanamente añadirle al string de
Código Delphi [-]
Cadena := Cadena + 'foto = "'+EDirFoto.Text+'"';
    Cadena := Cadena + ' Nombre = "'+ENombre.Text+'"';
    Cadena := Cadena + ' Clase = "'+EClase.Text+'"';
    Cadena := Cadena + ' Peso = "'+EPeso.Text+'"';
    Cadena := Cadena + ' Slots = "'+ESlots.Text+'"';
una mísera "," entre columna y columna, por eso no podia insertar la tupla, porque se creia que estaba intentando insertar una única columna... xD... sorry por las molestias

Última edición por Pook fecha: 14-12-2006 a las 22:29:04.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Trigger Before (Insert,update,delete)? estebanx MS SQL Server 2 25-05-2006 15:58:19
agregar registros usando INSERT ... papu MySQL 2 25-07-2005 01:18:40
problemas con el insert y el update tiagor64 SQL 5 16-02-2005 17:46:09
Update usando from febito Oracle 1 02-08-2004 02:36:13
Usando funciones MCI dabas API de Windows 2 30-06-2003 00:27:00


La franja horaria es GMT +2. Ahora son las 10:28:19.


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
Copyright 1996-2007 Club Delphi