Valhalla Legends Forums Archive | Visual Basic Programming | Access Database for Bots?...

AuthorMessageTime
CrAz3D
Would this be ineffective?  I got to thinking about it since I've been working on my billing database program & the Access database has been, so far easy to add to, edit, etc.  You could have different tables for different profiles of a bot or maybe different setting cataegories (Moderation, Chat, Interface, Logon, etc.)

Any comments?
January 30, 2005, 7:38 PM
QwertyMonster
Hmm, it sounds good to me. But how would an access database been effective for a "Billing System" ?..
January 30, 2005, 9:16 PM
CrAz3D
I like it because I can have seperate tables for each client & then I have columns that are for BillType, BillTime (if applicable), BillAmount, & Date (that bill was entered).  Everything works nicely & I have found no major problems with it, except the printing so far, but that is just because I don't know how to print things in VB.


Link to the program:
Database Program
[img]http://68.35.184.146/db/images/interface.gif[/img]
[img]http://68.35.184.146/db/images/access.gif[/img]
January 30, 2005, 10:49 PM
LoRd
It all depends on how you plan on using your database.  An Access database provides you with an easy way to organize your data and gives users who don't have your program the ability to read it's database.  The downside is, the Microsoft Jet Enginge is required to use the program, and the database format grants little freedom.  Personally, if I was you, I'd create my own binary database and then use that.  That way you can access data at about the same speeds as an Access database, you have virtually full control and no extra components are required.

My database looks like this:

[code]
#############################################################
# Sovereignty Smart Database Format (SSD)     #
# Version 1.0     #
#     #
# Copyright (C) 2004-2005 LoRd[nK] (rabbitvictim@gmail.com) #
#############################################################

— Database Header:

(DWORD)    Header — 'SSD'
(WORD)    Database Version (Currently 0x0001)

------------------------------------------------------------
UsrDB.ssd: user/group access database.

— Database Header

— User Groups:

(WORD)    # of Groups
For each group:
(WORD)    ID#
(DWORD)    Memeber Initial Flags
(FILETIME) Creation Date
(FILETIME) Last Modified Date
(STRING)  Group Creator
(STRING)  Group Modifier
(STRING)  Notes
(STRING)  Group Name

(BYTE)   Null Terminator

— Users:

(WORD)    # of Users
For each user:
(WORD)    Group ID# — 0xFFFF (-1) for none
(DWORD)    Flags
(FILETIME) Entry Creation Date
(FILETIME) Entry Last Modified Date
(STRING)  Entry Creator
(STRING)  Entry Modifier
(STRING)  Notes
(STRING)  Username

(BYTE)   Null Terminator

------------------------------------------------------------
GenUsrDB.ssd: general information recorded from all users seen; information
      used for both statistical purposes and automated moderation.

— Database Header

— General User Information/Statistics:

(WORD)    # of Users
For each user:
(WORD)    Total Number of Visits
(DWORD[5]) Length of Last 5 Visits
(WORD[5])  Message Count of Last 5 Visits
(FILETIME) First Seen Date
(FILETIME) Most Recent Seen Date
(STRING)  Username

(BYTE)   Null Terminator

------------------------------------------------------------
BotMail.ssd: Bot mail

— Database Header

— Messages:

(WORD)    # of Messages
For each message:
(BOOL)    Read
(BOOL)   Return Receipt
(FILETIME) Sent Date
(FILETIME) Read Date
(STRING)  Message
(STRING)  Sender Username
(STRING)  Receiver Username

(BYTE)   Null Terminator[/code]
January 30, 2005, 11:04 PM
CrAz3D
How did you go about writing this & retrieving info from it?  Is it as easy as Access?  It looks very nice.
January 30, 2005, 11:19 PM
St0rm.iD
Nah. Writing your own binary format is usually for people who just want to do something cool, not actually get the job done. I guarantee that nothing you'll write on your own will match the power and flexibility of a relational backend.

Here's my suggestion for a schema (using mysql CREATEs, but you'll figure it out):

[code]
you might want to add more columns to the users table
create table users (id integer primary key auto_increment, username varchar(70));

create table roles (id integer primary key auto_increment, name varchar(255));

create table user_role(id integer primary key auto_increment, userid integer, roleid integer);
[/code]
January 31, 2005, 8:43 PM
Adron
[quote author=Banana fanna fo fanna link=topic=10374.msg97654#msg97654 date=1107204208]
Nah. Writing your own binary format is usually for people who just want to do something cool, not actually get the job done. I guarantee that nothing you'll write on your own will match the power and flexibility of a relational backend.
[/quote]

It might require less resources and decrease the total size of your executable and all its dependencies though ;)
January 31, 2005, 10:14 PM
Networks
Wow, Lord that looks pretty tight.
February 1, 2005, 5:44 PM
KkBlazekK
Thats what I was thinking..
February 1, 2005, 7:05 PM

Search