-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdbmodule.py
More file actions
130 lines (123 loc) · 3.56 KB
/
Copy pathdbmodule.py
File metadata and controls
130 lines (123 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# DB
import sqlite3
import os
# アプリ定数
DBMANE = 'database/database.db'
# ---------------------------------------------------------------------------
# dbmodule
#
# データベース操作用の関数を分離
# ---------------------------------------------------------------------------
# データベース生成
# ---------------------------------------------------------------------------
def create_database():
# ディレクトリ確認
try:
os.makedirs('database')
except:
pass
c = sqlite3.connect(DBMANE)
c.execute("PRAGMA foreign_keys = ON")
try:
# itemテーブルの定義
ddl = """
CREATE TABLE items
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
maintext TEXT,
ON UPDATE CASCADE ON DELETE CASCADE
)
"""
c.execute(ddl)
except:
print('作成エラー')
c.commit()
c.close()
# ---------------------------------------------------------------------------
# メモ全件取得
# ---------------------------------------------------------------------------
def select_memo():
result = []
c = sqlite3.connect(DBMANE)
c.execute("PRAGMA foreign_keys = ON")
try:
sql = """
SELECT id, name, maintext
FROM items
"""
result = c.execute(sql)
print('取得完了')
except:
print('取得エラー')
return list(result)
# ---------------------------------------------------------------------------
# メモ1件取得
# ---------------------------------------------------------------------------
def select_memo_one(id):
result = []
c = sqlite3.connect(DBMANE)
c.execute("PRAGMA foreign_keys = ON")
try:
sql = """
SELECT id, name, maintext
FROM items
WHERE id = {}
""".format(id)
result = c.execute(sql)
print('取得完了')
except:
print('取得エラー')
return list(result)
# ---------------------------------------------------------------------------
# メモ登録
# ---------------------------------------------------------------------------
def insert_memo(memo):
c = sqlite3.connect(DBMANE)
try:
sql = """
INSERT INTO items(name, category_id, maintext)
VALUES('{}', {}, '{}')
""".format(memo[0], 1, memo[1])
c.execute(sql)
c.commit()
c.close()
print('登録成功')
except:
print('登録エラー')
# ---------------------------------------------------------------------------
# メモ編集
# ---------------------------------------------------------------------------
def update_memo(memo):
c = sqlite3.connect(DBMANE)
c.execute("PRAGMA foreign_keys = ON")
try:
print(memo)
sql = """
UPDATE items
SET name = '{}', category_id = 1, maintext = '{}'
WHERE id = {}
""".format(memo[0], memo[1], memo[2])
c.execute(sql)
c.commit()
c.close()
print('更新成功')
except:
print('更新エラー')
# ---------------------------------------------------------------------------
# メモ削除
# ---------------------------------------------------------------------------
def delete_memo(id):
c = sqlite3.connect(DBMANE)
c.execute("PRAGMA foreign_keys = ON")
try:
sql = """
DELETE FROM items
WHERE id = {}
""".format(id)
c.execute(sql)
c.commit()
c.close()
print('削除成功')
except:
print('削除エラー')