realbasic-nug.it
[Top] [All Lists]

Re: DB RealSql

To: REALbasic NUG Italian <realbasic-nug.it@lists.realsoftware.com>
Subject: Re: DB RealSql
From: Ivano Monti <ivanomonti@libero.it>
Date: Fri, 1 May 2009 00:07:31 +0200
Authentication-results: mx.google.com; spf=neutral (google.com: 74.124.194.228 is neither permitted nor denied by best guess record for domain of realbasic-nug.it-bounces@lists.realsoftware.com) smtp.mail=realbasic-nug.it-bounces@lists.realsoftware.com
Delivered-to: listarchive@realsoftware.com
In-reply-to: <C61FBAA5.C112%falcosoft@mac.com>
References: <C61FBAA5.C112%falcosoft@mac.com>
Reply-to: REALbasic NUG Italian <realbasic-nug.it@lists.realsoftware.com>
Sender: realbasic-nug.it-bounces@lists.realsoftware.com
si e grazie Antonio, id era solo per mettere il primo record, che ora ho cambiato generando un id univoco.... non sapevo che in Realdb non servissero la lunghezza dei campi, ce manca un pò de roba in questo RealDb.

mmm per questo tipo di lavoro va bene, ma mi domando su un lavoro complesso e che richiede la massima sicurezza se possibile usare la versione Real SQL Serve mmm bho da provare.

Il giorno 30/apr/09, alle ore 20:29, Ing. Antonio Rinaldi ha scritto:

Il crash aprendo il db nell'ide è un problema della versione 2009r2 (risolto
nella release successiva e non presente in quelle precedenti)

Per quanto riguarda il codice puoi semplificarlo, non è necessario ricreare
l'oggetto folderItem e quello db.
Se il file fai il test di connessione , altrimenti lo crei.
Il comando di creazione delle tabelle contiene anche le dimensioni delle colonne che, a quanto ne so, sono inutili nel caso del RealSqlDatabase.

L'inserimento dei dati va bene a patto che aggiorni l'id (inserisci sempre 1) e che nella lettura degli editField converti gli apici singoli in doppi
apici singoli.
Ad esempio:
A=editField_nome.Text.replaceAll("'","''")

Ciao
Antonio

Il giorno 30-04-2009 19:15, Ivano Monti, ivanomonti@libero.it ha scritto:

Ragazzi forse sbaglio o forse no, intanto buonasera.

Sto creando un piccolo tools dove devo memorizzare dei dati utenti,
pertanto ho deciso di usare un db RealDB



Per creare il database faccio così

  Dim f as FolderItem
  Dim db as REALSQLdatabase

  db=New REALSQLdatabase
  f = GetFolderItem("MailListdb.rsd")
  db.DatabaseFile=f

  If db.Connect() then
    MsgBox "the database already exists"
  else

    f=New FolderItem("MailListdb.rsd")

    db=New REALSQLdatabase
    db.databaseFile=f

    If db.CreateDatabaseFile then
      db.sqlexecute "CREATE TABLE MailListTable ( id INT ( 9 ) NULL
PRIMARY KEY , Nome TEXT ( 255 ) NULL , Cognome TEXT ( 255 ) NULL ,
Email TEXT ( 255 ) NULL , Note TEXT ( 255 ) NULL , Gruppo TEXT ( 255 )
NULL , BlackList TEXT ( 15 ) NOT NULL ) ; "
    else
      MsgBox "Database not created"
    end if
  end if



Per Scriverci un dato faccio così

  dim dbFile as FolderItem
  dim db as REALSQLdatabase

  db=New REALSQLdatabase
  dbFile = GetFolderItem("MailListdb.rsd")
  db.DatabaseFile=dbFile

  dim a,b,c,d,e,f as string

  a = EditField_nome.Text
  b = EditField_cognome.Text
  c = EditField_mail.Text
  d = EditField_note.Text
  e = EditField_gruppo.Text
  f = str(CheckBox_blacklist.value)

  If db.Connect() then
    db.sqlexecute ("Insert into MailListTable Values ('1','" + a +
"','" + b + "','" + c + "','" + d + "','" + e + "','" + e + "')")
    If db.error then
      MsgBox db.errormessage
    else
      db.Commit
    End if
  else
    Beep
    MsgBox "The database couldn't be opened."
  end if



Ora dato che è ancora embrionale stavo cercando di vedere i dati
all'interno del db, pertanto imposto il db nel progetto cerco di
aprirlo e mi va in crash con il riavvio forzato di RealBasic...

Roba bruttina, poi vedo che il RealServer continua a inviare link per
scaricare le nuove versioni, ma questo db RealDb funziona ?

Datemi delle dritte perchè da questo crash non ne vengo fuori, bomba
bomba bomba o altri tools per vedere i dati nel db real ... mi sa che
faccio prima a scrivere il codice:-(

Cordiali saluti







<Prev in Thread] Current Thread [Next in Thread>