import sqlite3
|
|
db_path = r'd:\TestPlatform\TapProject\WPFProject\bin\x64\Debug\Config\Database\database.db'
|
conn = sqlite3.connect(db_path)
|
c = conn.cursor()
|
|
# Check if ManualControl parent menu has a role_menu_rel entry
|
print("=== ManualControl menu entry ===")
|
c.execute("SELECT * FROM menu WHERE code='ManualControl'")
|
for r in c.fetchall():
|
print(f" {r}")
|
|
print("\n=== role_menu_rel for ManualControl ===")
|
c.execute("SELECT * FROM role_menu_rel WHERE menuCode='ManualControl'")
|
for r in c.fetchall():
|
print(f" {r}")
|
|
# Check all parent menus and their role relations
|
print("\n=== All parent menus (type='' or empty dllPath) ===")
|
c.execute("SELECT m.code, m.name, m.type, m.parentCode, rrel.roleCode FROM menu m LEFT JOIN role_menu_rel rrel ON m.code = rrel.menuCode WHERE m.type = '' OR m.type IS NULL")
|
for r in c.fetchall():
|
print(f" {r}")
|
|
# Simulate the full login query for admin user
|
print("\n=== Full menu tree for admin (all levels) ===")
|
c.execute("""
|
SELECT DISTINCT m.code, m.name, m.type, m.parentCode, m.level, m.dllPath
|
FROM menu AS m
|
INNER JOIN role_menu_rel AS rrel ON m.code = rrel.menuCode
|
INNER JOIN role AS r ON rrel.roleCode = r.code
|
INNER JOIN user_role_rel AS urel ON r.code = urel.roleCode
|
AND urel.username = 'admin'
|
ORDER BY m.level, m.id
|
""")
|
for r in c.fetchall():
|
print(f" {r}")
|
|
conn.close()
|