Advice on storing properties
erne
ernestogiannotta at tiscalinet.it
Sat Aug 23 23:26:12 CDT 2003
Hi Jem,
On Domenica, ago 24, 2003, at 10:58 Europe/Rome, Jan Erik Moström wrote:
> I want to design a database that contains some unique settings for each
> database. I would like to store this information together with the
> database in a single file but I'm unsure of what is the best way of
> doing it. I could make a new table and store the information there ...
> but it seems a bit wasteful (only one single information piece with a
> lot of different kind of data in in, text as well as different binary
> information).
>
> I might be missing something but I couldn't find a way of making a
> "global variable" where I could store this information. So, does anyone
> have any advice on how to do this?
>
I usually set a prefs table like this:
// Internal name for Multilanguage compatibility
Name = "Prefs"
// Type holder
PrefType = new VString("Type", 15, "ASCII")
// Name holder
PrefName = new VString("Name", 25, "ASCII")
// to store strings
PrefString = new VVarChar("String", 500, "ASCII")
// to store integers
PrefInteger = new VLong("Integer")
// to store booleans
PrefBoolean = new VBoolean("Bool")
// to store dates
PrefDate = new VDateTime("Date")
// to store pictures
PrefPict = new VPicture("Pict", 1024)
and some functions like these:
Function GetPrefType(theType as String, theName as String) As VCursor
dim SqlString as String
dim c as VCursor
dim res as boolean
SqlString = "Select * From " + me.Name
SqlString = SqlString + " Where " + me.PrefType.Name + " = '" +
theType + "'"
SqlString = SqlString + " And " + me.PrefName.Name + " = '" +
theName + "'"
c = me.DataBase.SQLselect(SqlString, kV_Client, kV_NoLocks,
kV_Random)
if c <> nil then
if c.RecordCount = 0 then
// preferences missing
c.SetBlank
c.Field(me.PrefType.Name).SetString theType
c.Field(me.PrefName.Name).SetString theName
res = c.Add
end if
end if
Return c
HTH
Cool Runnings,
Erne.
End Function
|er| musical box
|ne| a media store
More information about the Valentina
mailing list