Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ayuda Con Foreign Key Gambas Y Sqlite
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ayuda Con Foreign Key Gambas Y Sqlite 
 
Hola chicos estoy intentado hacer una función en mi aplicación para crear una base de datos si no existe, el problema que tengo es que había hecho pruebas en mysql y finalmente estoy usando sqlite3.
el asunto es que quiero pasar esto:
USE terminal;

CREATE TABLE IF NOT EXISTS terminal.ARQUEO (
IdArq MEDIUMINT(8) UNSIGNED ZEROFILL AUTO_INCREMENT,
CajaNo SMALLINT (3) UNSIGNED ZEROFILL,
FechaIn DATE,
HoraIn  TIME,
FechaFin DATE,
HoraFin TIME,
Fianza DECIMAL (6,2),
Total DECIMAL (6,2),
CajaZ DECIMAL (6,2),
PRIMARY KEY (IdArq) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = UTF8;


CREATE TABLE IF NOT EXISTS terminal.ARQX (
IdX SMALLINT (3) UNSIGNED ZEROFILL AUTO_INCREMENT,
IdArq MEDIUMINT (8) UNSIGNED ZEROFILL,
Hora TIME,
PRIMARY KEY (IdX, IdArq),
INDEX IDX_ARQX_IdArq (IdArq),
FOREIGN KEY (IdArq) REFERENCES terminal.ARQUEO (IdArq) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = UTF8;
 

a esto otro:
Try
    hConn.Open()
    If Not hConn.Databases.Exist(NomDB) Then
      hConn.Databases.Add(NomDB)
      Wait 0.5
      hConn.Close()
      hConn.Host = Settings["BASE/RUTA"]
      hConn.Name = NomDB
      Try
          hConn.Open()
          
          TablaDB = hConn.Tables.Add("ARQUEO")
            TablaDB.Fields.Add("IdArq", db.Serial)
            TablaDB.Fields.Add("CajaNo", db.Integer)
            TablaDB.Fields.Add("FechaIn", db.Date)
            TablaDB.Fields.Add("HoraIn", db.date)
            TablaDB.Fields.Add("FechaFin", db.date)
            TablaDB.Fields.Add("HoraFin", db.date)
            TablaDB.Fields.Add("Fianza", db.Float)
            TablaDB.Fields.Add("Total", db.Float)
            TablaDB.Fields.Add("CajaZ", db.Float)
            TablaDB.PrimaryKey = ["IdArq"]
            
          TablaDB = hConn.Tables.Add("ARQX")
            TablaDB.Fields.Add("IdX", db.Serial)
            TablaDB.Fields.Add("IdArq", db.Integer)
            TablaDB.Fields.Add("Hora", db.date)
            TablaDB.PrimaryKey = ["IdX", "IdArq"]
                    
          TablaDB.Update()
          hConn.Close()
    Endif
  Catch
    Message.Error(Error.Text & " " & Error.Code)
 


Pero no encuentro información de como crear la foreign key y en la primari key me he quedado . Alguien sabe donde puedo encontrar información sobre ello, en la doc de gambas no he encontrado nada. Muchas gracias a todos.
 



 
aratar79 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Foreign Key Gambas Y Sqlite 
 
Primero tienes que activar la integridad referencial:
pragma foreign_keys=true


Luego modifica las tablas añadiendo las constraint:
ALTER TABLE child ADD CONSTRAINT fk_child_parent
                  FOREIGN KEY (parent_id)
                  REFERENCES parent(id);
 

O directamente en la creación de la tabla:
CREATE TABLE child (
    id           INTEGER PRIMARY KEY,
    parent_id    INTEGER,
    description  TEXT,
    FOREIGN KEY (parent_id) REFERENCES parent(id)
);

 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Foreign Key Gambas Y Sqlite 
 
Ok, gracias Shordi, pero como hago para hacerlo desde gambas. no se por que pero cuando hago:
$result = hConn.Exec(sql)
 


Me da error
 



 
aratar79 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Foreign Key Gambas Y Sqlite 
 
Si no muestras qué contiene la variable sql en el momento de dar el error, difícilmente podremos ayudar.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ayuda Con Foreign Key Gambas Y Sqlite 
 
      Perdón se me colo la linea donde estaba la variable sql, creo que ya lo encontré, no hacia correctamente la consulta, Muchas gracias Shordi

Un saludo.
 



 
aratar79 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Consulta Sum En Sqlite Con Gambas pittusa Bases de Datos 2 Viernes, 29 Octobre 2010, 06:27 Ver último mensaje
pittusa
No hay nuevos mensajes Ayuda Con Lectura De Datos De Una Sqlite DEATH Bases de Datos 14 Sabado, 30 Enero 2016, 22:02 Ver último mensaje
jousseph
No hay nuevos mensajes Sqlite Con Foreign Keys Fk tincho Bases de Datos 6 Martes, 07 Junio 2016, 20:55 Ver último mensaje
tincho
No hay nuevos mensajes Problema De Formato En Sqlite Y Gambas? calcena Bases de Datos 2 Jueves, 09 Julio 2020, 17:39 Ver último mensaje
tercoIDE
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron