Saya bisa bantu untuk masalah di atas. Sebelumnya
perkenalkan saya, programmer dr kota dingin Malang (skr tdk dingin lagi
:P).
sistematika tabelnya adalah seperti dibawah ini.
Saya sudah sering memakainya ketika menggunakan Delphi.
Table-table yang harus dibuat adalah :
- User
- Group
- Menu
- Otorisasi Menu
ini SQL Scriptnya :
Create
Table user_group (
groupid integer not null primary
key,
' bisa juga
auto number(ms access) atau identity(1,1) untuk SQL Server, untuk Oracle
dibuatkan sequence tersendiri u/ auto increment
group_name
varchar(100),
description
varchar(255)); ' bisa juga memo (ms access)
atau Long untuk Oracle
Create Table
users (
userid integer not null primary
key,
username varchar(30)
not null unique,
password
varchar(30),
groupid
integer,
constraint
fk_group_user foreign key (groupid) references
user_group (groupid));
Create
Table menus (
menuid integer not null primary
key,
caption varchar(100),
tool_tip varchar(255),
tag integer default 0,
image_index
integer);
Create
Table otorisasi (
groupid integer not
null,
menuid integer not
null,
visible char(1)
default 'F',
enabled char(1)
default 'F',
constraint
PK_Otorisasi primary key (groupid,menuid),
constraint FK_menus
foreign key (menuid) references menus
(menuid),
constraint
FK_group_menus foreign key (groupid)
references user_group (groupid));
Kemudian untuk mengakses menu dengan user dan
groupnya , buatlah view dengan query sebagai berikut:
Create View v_user_menus
as
select
a.userid,a.username,a.groupid,c.*,a.visible,a.enabled
from users a, otorisasi
b,menus c
where a.groupid=b.groupid
and b.groupid=c.groupid
(Note. parse SQL diatas mungkin tidak berlaku bagi
Database selain Oracle, coba sesuaikan dengan Database yang anda
pakai)
untuk memanggil menu milik user dengan group
tertentu anda tinggal memberikan parameter pada command Text atau SQL
Querynya.
Bila anda menggunakan ADO, maka gunakan ? untuk
menambahkan parameter, contoh:
select *
from v_user_menus where userid=?
atau ;
select * from v_user_menus
where username=?
Untuk sementara itu dulu yang bisa saya bantu,
mengenai codingnya, menyusul ...
:)
Viva alumni
INIXINDO
Wahana Programmer Groups Links
<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
http://wahanaprogrammer.net
<*> Untuk menghubungi owner milis ini, kirim email ke:
[EMAIL PROTECTED]
<*> Konsultasi pemrogramman bisa chat disini:
Yahoo! Messenger: wahanaprogrammer
YAHOO! GROUPS LINKS
- Visit your group "Programmer-VB" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
