---
title: roSqliteDatabase
slug: develop/es/rosqlitedatabase
docTags: 
createdAt: 2025-03-11T07:07:17.200Z
---

Este es el objeto principal de SQLite que "posee" la base de datos. Puede crear tantos de estos objetos como necesite. El equivalente en JavaScript es usar IndexedDB.

## ifSqliteDatabse

### Open(path As String) As Boolean

Abre un archivo de base de datos existente. Este método devuelve `Verdadero` si se realiza correctamente.

### Create(path As String) As Boolean

Crea un nuevo archivo de base de datos vacío. Este método devuelve `Verdadero` si se realiza correctamente.

Pasar `":memory:"` a este método crea una base de datos en almacenamiento no persistente. Esto es útil para aplicaciones de base de datos de alto volumen que podrían causar problemas de desgaste en una tarjeta SD.

### Close()

Cierra una base de datos abierta.

### CreateStatement(sql\_text As String) As Object

Crea un nuevo objeto *roSqliteStatement* usando la cadena SQL especificada.

### RunBackground(sql\_text As String, associative\_array As Object) As Integer

Ejecuta la instrucción SQL especificada en segundo plano y vincula variables usando el *roAssociativeArray* pasado.

### SetMemoryLimit(limit As Integer)

Establece el límite de memoria "flexible" bajo el cual SQLite intentará mantenerse (consulte la documentación de SQLite para obtener detalles).

:::hint{type="info"}
El método `SetMemoryLimit()` establece parámetros globales. Por lo tanto, debe llamarse antes de realizar cualquier otra llamada en el objeto de base de datos.
:::

## ifMessagePort

### SetPort(port As roMessagePort)

Publica mensajes de tipo *roSqliteEvent* en el puerto de mensajes adjunto.

## Ejemplos

Creación de una base de datos:

```text
db = CreateObject("roSqliteDatabase")
 
print db
 
openResult = db.Create("SD:/test.db")
 
if openResult
    print "Created OK"
else
    print "Creation FAILED"
    end
endif
```

Creación de una tabla en una base de datos:

```text
createStmt = db.CreateStatement("CREATE TABLE playback (md5 text PRIMARY KEY, path PATH, playback_count INT);")

print createStmt

if type(createStmt) <> "roSqliteStatement" then
    print "We didn't get a statement returned!!"
    end
endif

sqlResult = createStmt.Run()

print sqlResult

if sqlResult = SQLITE_COMPLETE
    print "Table Created OK"
else
    print "Table Creation FAILED"
endif

createStmt.Finalise()
```
