36 lines
901 B
Python
36 lines
901 B
Python
import fdb
|
|
|
|
conn = fdb.connect(
|
|
dsn=r'localhost:c:\medicus 3\data\medicus.fdb',
|
|
user='SYSDBA', password='masterkey', charset='win1250'
|
|
)
|
|
cur = conn.cursor()
|
|
|
|
# Načti všechny záznamy pacienta a zjisti délku v Pythonu
|
|
cur.execute("""
|
|
SELECT ID, DATUM, DEKURS
|
|
FROM DEKURS
|
|
WHERE IDPAC = 9742 AND DEKURS IS NOT NULL
|
|
ORDER BY DATUM DESC
|
|
""")
|
|
rows = cur.fetchall()
|
|
|
|
def read_blob(val):
|
|
text = val.read() if hasattr(val, 'read') else val
|
|
if isinstance(text, bytes):
|
|
text = text.decode('windows-1250', errors='replace')
|
|
return text
|
|
|
|
# Seřaď podle délky
|
|
data = [(r[0], r[1], read_blob(r[2])) for r in rows]
|
|
data.sort(key=lambda x: len(x[2]), reverse=True)
|
|
|
|
print("Top 10 nejdelších záznamů:")
|
|
for d in data[:10]:
|
|
print(f" ID={d[0]} datum={d[1]} délka={len(d[2])}")
|
|
|
|
print("\n--- Nejdelší záznam (celý RTF) ---")
|
|
print(data[0][2])
|
|
|
|
conn.close()
|