mySQLDBCtrlAPI 1.2510.26__py3-none-any.whl → 1.2510.27__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mySQLDBCtrlAPI might be problematic. Click here for more details.

@@ -0,0 +1,57 @@
1
+ # This file was generated by Nuitka
2
+
3
+ # Stubs included by default
4
+ from __future__ import annotations
5
+ from typing import Any
6
+ from typing_extensions import Self
7
+ import os
8
+ import pymysql
9
+
10
+ class ENUM_DB_CHARSET:
11
+ def __init__(self: Self) -> None: ...
12
+
13
+ class STRU_mySQLDBInfo:
14
+ def __init__(self: Self) -> None: ...
15
+
16
+ class CLASS_mySQLDBCtrl:
17
+ def __init__(self: Self) -> None: ...
18
+ def CUF_SET_Charset(self: Self, PmE_DB_Charset: Any) -> Any: ...
19
+ def CUF_OpenConnection_DBCS(self: Self, Pms_DB_HostIP: Any, Pmi_DB_Port: Any, Pms_DB_Name: Any, Pms_User: Any, Pms_Password: Any, PmE_DB_CHARSET: Any) -> Any: ...
20
+ def CUF_OpenConnection(self: Self, Pms_DB_HostIP: Any, Pmi_DB_Port: Any, Pms_DB_Name: Any, Pms_User: Any, Pms_Password: Any) -> Any: ...
21
+ def CUF_DB_OpenConn(self: Self, Pstru_mySQLDBInfo: Any) -> Any: ...
22
+ def CUF_DB_OpenSQL(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
23
+ def CUF_DB_OpenSQL_utf8(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
24
+ def CUF_DB_FETCH(self: Self, Pobj_Query: Any) -> Any: ...
25
+ def CUF_DB_Next(self: Self, Pobj_Query: Any) -> Any: ...
26
+ def CUF_Next(self: Self, Pobj_Query: Any) -> Any: ...
27
+ def CUF_DB_ExecSQL(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
28
+ def CUF_DB_ExecSQL_utf8(self: Self, Pobj_Connection: Any, Pms_SQL: Any) -> Any: ...
29
+ def CUF_DB_RecordCount(self: Self, Pobj_Query: Any) -> Any: ...
30
+ def CUF_DB_RECCOUNT(self: Self, Pobj_Query: Any) -> Any: ...
31
+ def CUF_DB_Eof(self: Self, Pobj_Query: Any) -> Any: ...
32
+ def CUF_Eof(self: Self, Pobj_Query: Any) -> Any: ...
33
+ def CUF_str_utf8(self: Self, Pobj_DataSet: Any) -> Any: ...
34
+ def CUF_utf8(self: Self, Pobj_DataSet: Any) -> Any: ...
35
+ def CUF_str_big5(self: Self, Pobj_DataSet: Any) -> Any: ...
36
+ def CUF_big5(self: Self, Pobj_DataSet: Any) -> Any: ...
37
+ def CUF_GetBlobField(self: Self, Pobj_Query: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
38
+ def CUF_GET_Blob(self: Self, Pobj_Query: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
39
+ def CUF_SetBlobField(self: Self, Pobj_Query: Any, Pms_TableName: Any, Pms_QUERY: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
40
+ def CUF_SET_BLOB(self: Self, Pobj_Query: Any, Pms_TableName: Any, Pms_QUERY: Any, Pms_BlobFieldName: Any, Pms_FileName: Any) -> Any: ...
41
+ def CUF_GetServerDateTime(self: Self, Pms_SEPCHAR_DATE: Any, Pms_SEPCHAR_TIME: Any, Pms_SEPERATOR: Any) -> Any: ...
42
+ def CUF_GetServerDateTime1(self: Self, PmB_DELIMITER: Any) -> Any: ...
43
+ def CUF_GetServerDateTime2(self: Self) -> Any: ...
44
+ def CUF_GetServerDate(self: Self, Pms_DELIMITER: Any) -> Any: ...
45
+ def CUF_GetServerTime(self: Self, Pms_DELIMITER: Any) -> Any: ...
46
+ def CUF_AddTime(self: Self, Pms_DateTime: Any, Pmi_TimeSecond: Any) -> Any: ...
47
+ def CUF_AddTime_Current(self: Self, Pmi_TimeSecond: Any) -> Any: ...
48
+
49
+
50
+ __name__ = ...
51
+
52
+
53
+
54
+ # Modules used internally, to allow implicit dependencies to be seen:
55
+ import os
56
+ import pymysql
57
+ import ntpath
@@ -0,0 +1,68 @@
1
+ from _typeshed import Incomplete
2
+
3
+ class ENUM_DB_CHARSET:
4
+ cE_DBCS_ascii: Incomplete
5
+ cE_DBCS_big5: Incomplete
6
+ cE_DBCS_binary: Incomplete
7
+ cE_DBCS_cp1250: Incomplete
8
+ cE_DBCS_gb2312: Incomplete
9
+ cE_DBCS_gbk: Incomplete
10
+ cE_DBCS_latin1: Incomplete
11
+ cE_DBCS_latin2: Incomplete
12
+ cE_DBCS_latin5: Incomplete
13
+ cE_DBCS_latin7: Incomplete
14
+ cE_DBCS_utf16: Incomplete
15
+ cE_DBCS_utf16le: Incomplete
16
+ cE_DBCS_utf32: Incomplete
17
+ cE_DBCS_utf8mb3: Incomplete
18
+ cE_DBCS_utf8mb4: int
19
+ def __init__(self) -> None: ...
20
+
21
+ class STRU_mySQLDBInfo:
22
+ ms_DB_HostIP: str
23
+ mi_DB_Port: int
24
+ ms_DB_Name: str
25
+ ms_User: str
26
+ ms_Password: str
27
+ def __init__(self) -> None: ...
28
+
29
+ class CLASS_mySQLDBCtrl:
30
+ CUms_DB_HostIP: str
31
+ CUmi_DB_Port: int
32
+ CUms_DB_Name: str
33
+ CUms_User: str
34
+ CUms_Password: str
35
+ CVmi_qryRECCNT: int
36
+ CVmsa_DBCS: Incomplete
37
+ def __init__(self) -> None: ...
38
+ def CUF_SET_Charset(self, PmE_DB_Charset) -> None: ...
39
+ CUobj_Conn: Incomplete
40
+ def CUF_OpenConnection_DBCS(self, Pms_DB_HostIP, Pmi_DB_Port, Pms_DB_Name, Pms_User, Pms_Password, PmE_DB_CHARSET): ...
41
+ def CUF_OpenConnection(self, Pms_DB_HostIP, Pmi_DB_Port, Pms_DB_Name, Pms_User, Pms_Password): ...
42
+ def CUF_DB_OpenConn(self, Pstru_mySQLDBInfo): ...
43
+ def CUF_DB_OpenSQL(self, Pobj_Connection, Pms_SQL): ...
44
+ def CUF_DB_OpenSQL_utf8(self, Pobj_Connection, Pms_SQL): ...
45
+ def CUF_DB_FETCH(self, Pobj_Query): ...
46
+ def CUF_DB_Next(self, Pobj_Query): ...
47
+ def CUF_Next(self, Pobj_Query): ...
48
+ def CUF_DB_ExecSQL(self, Pobj_Connection, Pms_SQL): ...
49
+ def CUF_DB_ExecSQL_utf8(self, Pobj_Connection, Pms_SQL): ...
50
+ def CUF_DB_RecordCount(self, Pobj_Query): ...
51
+ def CUF_DB_RECCOUNT(self, Pobj_Query): ...
52
+ def CUF_DB_Eof(self, Pobj_Query): ...
53
+ def CUF_Eof(self, Pobj_Query): ...
54
+ def CUF_str_utf8(self, Pobj_DataSet): ...
55
+ def CUF_utf8(self, Pobj_DataSet): ...
56
+ def CUF_str_big5(self, Pobj_DataSet): ...
57
+ def CUF_big5(self, Pobj_DataSet): ...
58
+ def CUF_GetBlobField(self, Pobj_Query, Pms_BlobFieldName, Pms_FileName) -> None: ...
59
+ def CUF_GET_Blob(self, Pobj_Query, Pms_BlobFieldName, Pms_FileName) -> None: ...
60
+ def CUF_SetBlobField(self, Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName) -> None: ...
61
+ def CUF_SET_BLOB(self, Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName) -> None: ...
62
+ def CUF_GetServerDateTime(self, Pms_SEPCHAR_DATE, Pms_SEPCHAR_TIME, Pms_SEPERATOR): ...
63
+ def CUF_GetServerDateTime1(self, PmB_DELIMITER): ...
64
+ def CUF_GetServerDateTime2(self): ...
65
+ def CUF_GetServerDate(self, Pms_DELIMITER): ...
66
+ def CUF_GetServerTime(self, Pms_DELIMITER): ...
67
+ def CUF_AddTime(self, Pms_DateTime, Pmi_TimeSecond): ...
68
+ def CUF_AddTime_Current(self, Pmi_TimeSecond): ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mySQLDBCtrlAPI
3
- Version: 1.2510.26
3
+ Version: 1.2510.27
4
4
  Summary: mySQLDBCtrlAPI Python package
5
5
  Author-email: James Lin <tylin123@ms27.hinet.net>
6
6
  License: Copyright (c) 2025 James Lin
@@ -25,6 +25,7 @@ License: Copyright (c) 2025 James Lin
25
25
  In no event shall the author be liable for any claim, damages, or other liability arising from, out of, or in connection with the software or its use.
26
26
 
27
27
  Project-URL: Homepage, https://mis.gotech.biz
28
+ Requires-Python: >=3.10
28
29
  Description-Content-Type: text/markdown
29
30
  License-File: LICENSE
30
31
  Requires-Dist: pymysql
@@ -0,0 +1,9 @@
1
+ mySQLDBCtrlAPI/__init__.py,sha256=WAATQWzZgzaGObOW3SapBNZgB6n6Kr9Px_uSXdxj1vY,101
2
+ mySQLDBCtrlAPI/mySQLDBCtrl.cp310-win_amd64.pyd,sha256=vqC0tEcTPhrWLweGhQZ0CfP-oUhlShs-3nc7RXp0AOc,285696
3
+ mySQLDBCtrlAPI/mySQLDBCtrl.pyi,sha256=pCoDuRyMO8i7u9_6j9_VCvKq7bd3hL91uJ6_pU1HO6A,3029
4
+ mySQLDBCtrlAPI/out/mySQLDBCtrlAPI/mySQLDBCtrl.pyi,sha256=IVx74OACGb7CcCCvlIRNguLjw3UVDJUPmzwj9AcDY40,2907
5
+ mysqldbctrlapi-1.2510.27.dist-info/licenses/LICENSE,sha256=bTN6shImvjBn0VScA1LIqy7LH3B_O6XZieGPnoT4Gxk,1054
6
+ mysqldbctrlapi-1.2510.27.dist-info/METADATA,sha256=Y0LPjxs4lP0l9U4EZwsi6XCmVtoPmt6YX4QrVtcect0,1986
7
+ mysqldbctrlapi-1.2510.27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
8
+ mysqldbctrlapi-1.2510.27.dist-info/top_level.txt,sha256=onworg8ic7UQRjmAT-NpGAJFJb4X9hU1rOlYUCD_gng,15
9
+ mysqldbctrlapi-1.2510.27.dist-info/RECORD,,
@@ -1,479 +0,0 @@
1
- #UTF-8 #-*- coding:
2
- # ----------------------------------------------------------------------------
3
- # MySQL 資料庫類別: CLASS_mySQLDBCtrl
4
- # [使用範例]:
5
- # ms_SQL = "SELECT * FROM ztbxtalk_reglist";
6
- # self.CVobj_MyQuery = self.CVobj_mySQLDBCtrl.CUF_DB_OpenSQL(
7
- # self.CVobj_Conn, ms_SQL);
8
- # mi_RECCNT = self.CVobj_mySQLDBCtrl.CUF_DB_RecordCount(self.CVobj_MyQuery);
9
- # print("Record count = "+ str(mi_RECCNT));
10
- # while(not self.CVobj_mySQLDBCtrl.CUF_Eof(self.CVobj_MyQuery)):
11
- # obj_DataSet = self.CVobj_mySQLDBCtrl.CUF_DB_FETCH(self.CVobj_MyQuery)
12
- # print(obj_DataSet["SADDR"], " ", obj_DataSet["LOGIN_TIME"],
13
- # obj_DataSet["IP_ADDR"], " ", obj_DataSet["APP_NAME"]);
14
- # ----------------------------------------------------------------------------
15
-
16
- import os
17
- import pymysql as Gobj_pymysql
18
-
19
- # --------------------------------------------------------------------------------
20
- # 資料庫字元集
21
- class ENUM_DB_CHARSET:
22
- def __init__(self):
23
- self.cE_DBCS_ascii = 1, # ascii US ASCII
24
- self.cE_DBCS_big5 = 2, # big5 Big5 Traditional Chinese
25
- self.cE_DBCS_binary = 3, # binary Binary pseudo charset
26
- self.cE_DBCS_cp1250 = 4, # cp1250 Windows Central European
27
- self.cE_DBCS_gb2312 = 5, # gb2312 GB2312 Simplified Chinese
28
- self.cE_DBCS_gbk = 6, # gbk GBK Simplified Chinese
29
- self.cE_DBCS_latin1 = 7, # latin1 cp1252 West European
30
- self.cE_DBCS_latin2 = 8, # latin2 ISO 8859-2 Central European
31
- self.cE_DBCS_latin5 = 9, # latin5 ISO 8859-9 Turkish
32
- self.cE_DBCS_latin7 = 10, # latin7 ISO 8859-13 Baltic
33
- self.cE_DBCS_utf16 = 11, # utf16 UTF-16 Unicode
34
- self.cE_DBCS_utf16le = 12, # utf16le UTF-16LE Unicode
35
- # --------------------------------------------------------------------------------
36
- self.cE_DBCS_utf32 = 13, # utf32 UTF-32 Unicode
37
- # --------------------------------------------------------------------------------
38
- self.cE_DBCS_utf8mb3 = 14, # utf8mb3 UTF-8 Unicode
39
- self.cE_DBCS_utf8mb4 = 15 # utf8mb4 UTF-8 Unicode
40
-
41
-
42
- # ================================================================================
43
- # define mySQLDBCtrl API structure
44
- # ================================================================================
45
- class STRU_mySQLDBInfo:
46
- def __init__(self):
47
- self.ms_DB_HostIP = "127.0.0.1";
48
- self.mi_DB_Port = 3306;
49
- self.ms_DB_Name = "";
50
- self.ms_User = "";
51
- self.ms_Password = "";
52
-
53
-
54
- # ================================================================================
55
- # CLASS_mySQLDBCtrl
56
- # ================================================================================
57
- class CLASS_mySQLDBCtrl:
58
- def __init__(self):
59
- self.CUms_DB_HostIP = '127.0.0.1';
60
- self.CUmi_DB_Port = 3306;
61
- self.CUms_DB_Name = '';
62
- self.CUms_User = '';
63
- self.CUms_Password = '';
64
- # ------------------------------------------------------------
65
- self.CVmi_qryRECCNT = 0;
66
- # ------------------------------------------------------------
67
- self.CVmsa_DBCS = ["ascii", "big5", "binary", "cp1250", \
68
- "gb2312", "gbk", "latin1", "latin2", \
69
- "latin5", "latin7", "utf16", "utf16le",\
70
- "utf32", "utf8mb3", "utf8mb4"];
71
-
72
-
73
- # ----------------------------------------------------------------------
74
- # 功能: 設定資料庫 Charset
75
- # 傳入: PmE_DB_Charset --> ENUM_DB_CHARSET
76
- # 傳回: obj_Query
77
- # ----------------------------------------------------------------------
78
- def CUF_SET_Charset(self, PmE_DB_Charset):
79
- if(self.CUobj_Conn != None and len(PmE_DB_Charset) > 0):
80
- ms_SQL = "SET NAMES " + self.CVmsa_DBCS[PmE_DB_Charset[0]];
81
- # ----------------------------------------
82
- self.CUF_DB_ExecSQL(self.CUobj_Conn, ms_SQL);
83
-
84
-
85
- # ----------------------------------------------------------------------
86
- # 功能: 開啟 MySQL 資料庫
87
- # 傳入:
88
- # 傳回: obj_Query
89
- # ----------------------------------------------------------------------
90
- def CUF_OpenConnection_DBCS(self, Pms_DB_HostIP, Pmi_DB_Port, Pms_DB_Name, \
91
- Pms_User, Pms_Password,
92
- PmE_DB_CHARSET):
93
- self.CUms_DB_HostIP = Pms_DB_HostIP;
94
- self.CUmi_DB_Port = Pmi_DB_Port;
95
- self.CUms_DB_Name = Pms_DB_Name;
96
- self.CUms_User = Pms_User;
97
- self.CUms_Password = Pms_Password;
98
- # ----------------------------------------------------------------
99
- try:
100
- self.CUobj_Conn = Gobj_pymysql.connect(
101
- host = self.CUms_DB_HostIP,
102
- port = self.CUmi_DB_Port,
103
- user = self.CUms_User,
104
- password = self.CUms_Password,
105
- db = self.CUms_DB_Name,
106
- cursorclass= Gobj_pymysql.cursors.DictCursor);
107
- except:
108
- self.CUobj_Conn = None;
109
- #------------------------------------------------------------
110
- # 設定資料庫字元集
111
- self.CUF_SET_Charset(PmE_DB_CHARSET)
112
- #------------------------------------------------------------
113
- return(self.CUobj_Conn);
114
- # ======================================================================
115
- def CUF_OpenConnection(self, Pms_DB_HostIP, Pmi_DB_Port, Pms_DB_Name, \
116
- Pms_User, Pms_Password):
117
- mE_DB_Charset = ENUM_DB_CHARSET();
118
- # ------------------------------------------------------------
119
- return(self.CUF_OpenConnection_DBCS(Pms_DB_HostIP, Pmi_DB_Port, \
120
- Pms_DB_Name, Pms_User, \
121
- Pms_Password, \
122
- mE_DB_Charset.cE_DBCS_utf32));
123
- # ======================================================================
124
- def CUF_DB_OpenConn(self, Pstru_mySQLDBInfo):
125
- self.CUobj_Conn.commit();
126
- return(self.CUF_OpenConnection(Pstru_mySQLDBInfo.ms_DB_HostIP,
127
- Pstru_mySQLDBInfo.mi_DB_Port,
128
- Pstru_mySQLDBInfo.ms_DB_Name,
129
- Pstru_mySQLDBInfo.ms_User,
130
- Pstru_mySQLDBInfo.ms_Password));
131
-
132
-
133
- # ----------------------------------------------------------------------
134
- # 功能: 開啟 Pms_SQL 資料錄
135
- # 傳入:
136
- # 傳回: obj_Query
137
- # ----------------------------------------------------------------------
138
- def CUF_DB_OpenSQL(self, Pobj_Connection, Pms_SQL):
139
- obj_DataSet: Any;
140
-
141
- Pobj_Connection.commit();
142
- # ------------------------------------------------------------
143
- obj_Query = Pobj_Connection.cursor();
144
- # ------------------------------------------------------------
145
- obj_Query.execute(self.CUF_str_big5(Pms_SQL));
146
- # ------------------------------------------------------------
147
- Pobj_Connection.commit();
148
- # ------------------------------------------------------------
149
- self.CVmi_qryRECCNT = self.CUF_DB_RecordCount(obj_Query);
150
- # ------------------------------------------------------------
151
- if(self.CVmi_qryRECCNT > 0):
152
- obj_DataSet = self.CUF_DB_Next(obj_Query);
153
- # ------------------------------------------------------------
154
- return(obj_Query, obj_DataSet);
155
- # ----------------------------------------------------------------------
156
- def CUF_DB_OpenSQL_utf8(self, Pobj_Connection, Pms_SQL):
157
- obj_DataSet: Any;
158
-
159
- Pobj_Connection.commit();
160
- # ------------------------------------------------------------
161
- obj_Query = Pobj_Connection.cursor();
162
- # ------------------------------------------------------------
163
- obj_Query.execute(Pms_SQL);
164
- # ------------------------------------------------------------
165
- Pobj_Connection.commit();
166
- # ------------------------------------------------------------
167
- self.CVmi_qryRECCNT = self.CUF_DB_RecordCount(obj_Query);
168
- # ------------------------------------------------------------
169
- if(self.CVmi_qryRECCNT > 0):
170
- obj_DataSet = self.CUF_DB_Next(obj_Query);
171
- # ------------------------------------------------------------
172
- return(obj_Query, obj_DataSet);
173
-
174
-
175
- # ----------------------------------------------------------------------
176
- # 功能: 擷取資料錄 (下一筆)
177
- # 傳入:
178
- # 傳回: obj_Field
179
- # ----------------------------------------------------------------------
180
- def CUF_DB_FETCH(self, Pobj_Query):
181
- self.CVmi_qryRECCNT = self.CVmi_qryRECCNT - 1;
182
- # ------------------------------------------------------------
183
- return(Pobj_Query.fetchone());
184
- # ----------------------------------------------------------------------
185
- def CUF_DB_Next(self, Pobj_Query):
186
- return(self.CUF_DB_FETCH(Pobj_Query));
187
- # ----------------------------------------------------------------------
188
- def CUF_Next(self, Pobj_Query):
189
- return(self.CUF_DB_FETCH(Pobj_Query));
190
-
191
-
192
- # ----------------------------------------------------------------------
193
- # 功能: 執行 Open SQL 命令
194
- # 傳入:
195
- # 傳回: obj_Field
196
- # ----------------------------------------------------------------------
197
- def CUF_DB_ExecSQL(self, Pobj_Connection, Pms_SQL):
198
- obj_Query = Pobj_Connection.cursor();
199
- # ------------------------------------------------------------
200
- obj_Query.execute(self.CUF_str_big5(Pms_SQL));
201
- # ------------------------------------------------------------
202
- Pobj_Connection.commit();
203
- # ------------------------------------------------------------
204
- return(obj_Query);
205
- # ----------------------------------------------------------------------
206
- def CUF_DB_ExecSQL_utf8(self, Pobj_Connection, Pms_SQL):
207
- obj_Query = Pobj_Connection.cursor();
208
- # ------------------------------------------------------------
209
- obj_Query.execute(Pms_SQL);
210
- # ------------------------------------------------------------
211
- Pobj_Connection.commit();
212
- # ------------------------------------------------------------
213
- return(obj_Query);
214
-
215
-
216
- # ----------------------------------------------------------------------
217
- # 功能: 取得資料錄筆數
218
- # 傳入:
219
- # 傳回: obj_Field
220
- # ----------------------------------------------------------------------
221
- def CUF_DB_RecordCount(self, Pobj_Query):
222
- return(Pobj_Query.rowcount);
223
- # ----------------------------------------------------------------------
224
- def CUF_DB_RECCOUNT(self, Pobj_Query):
225
- return(self.CUF_DB_RecordCount(Pobj_Query));
226
-
227
-
228
- # ----------------------------------------------------------------------
229
- # 功能: 執行 Open SQL 命令
230
- # 傳入:
231
- # 傳回: true: Eof
232
- # ----------------------------------------------------------------------
233
- def CUF_DB_Eof(self, Pobj_Query):
234
- mB_RetVal = True;
235
- # ------------------------------------------------
236
- if(self.CVmi_qryRECCNT > 0):
237
- mB_RetVal = False;
238
- # ------------------------------------------------
239
- return(mB_RetVal);
240
-
241
-
242
- # ----------------------------------------------------------------------
243
- # 功能: 執行 Open SQL 命令
244
- # 傳入:
245
- # 傳回: true: Eof
246
- # Robj_DataSet: 資料集
247
- # ----------------------------------------------------------------------
248
- def CUF_Eof(self, Pobj_Query):
249
- return(self.CUF_DB_Eof(Pobj_Query));
250
-
251
-
252
- # ----------------------------------------------------------------------
253
- # 功能: 轉換字串編碼 (big5 -> utf-8)
254
- # 傳入:
255
- # 傳回: true: Eof
256
- # Robj_DataSet: 資料集
257
- # ----------------------------------------------------------------------
258
- def CUF_str_utf8(self, Pobj_DataSet):
259
- return(str(Pobj_DataSet).encode("latin1").decode("big5"));
260
- # ----------------------------------------------------------------------
261
- def CUF_utf8(self, Pobj_DataSet):
262
- return(str(Pobj_DataSet).encode("latin1").decode("big5"));
263
-
264
-
265
- # ----------------------------------------------------------------------
266
- # 功能: 轉換字串編碼 (utf-8 -> big5)
267
- # 傳入:
268
- # 傳回: true: Eof
269
- # Robj_DataSet: 資料集
270
- # ----------------------------------------------------------------------
271
- def CUF_str_big5(self, Pobj_DataSet):
272
- return(str(Pobj_DataSet).encode("big5").decode("latin1"));
273
- # ----------------------------------------------------------------------
274
- def CUF_big5(self, Pobj_DataSet):
275
- return(str(Pobj_DataSet).encode("big5").decode("latin1"));
276
-
277
-
278
- # ----------------------------------------------------------------------
279
- # 功能: 讀取 BLOB Field
280
- # 傳入:
281
- # 傳回: true: Eof
282
- # Pobj_Query: 資料集
283
- # ----------------------------------------------------------------------
284
- def CUF_GetBlobField(self, Pobj_Query, Pms_BlobFieldName, Pms_FileName):
285
- if(Pobj_Query):
286
- obj_DataSet = Pobj_Query.fetchone();
287
- if(obj_DataSet is None):
288
- return;
289
- # --------------------------------------------------
290
- obj_FileData = obj_DataSet[Pms_BlobFieldName];
291
- # --------------------------------------------------
292
- with open(Pms_FileName, "wb") as obj_FP:
293
- obj_FP.write(obj_FileData);
294
- # ----------------------------------------------------------------------
295
- def CUF_GET_Blob(self, Pobj_Query, Pms_BlobFieldName, Pms_FileName):
296
- self.CUF_GetBlobField(Pobj_Query, Pms_BlobFieldName, Pms_FileName);
297
-
298
-
299
- # ----------------------------------------------------------------------
300
- # 功能: 寫入 BLOB Field
301
- # 傳入:
302
- # 傳回: true: Eof
303
- # Pobj_Query: 資料集
304
- # ----------------------------------------------------------------------
305
- def CUF_SetBlobField(self, Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName):
306
- ms_SQL :str;
307
- mi_FileSize:int;
308
-
309
- mi_FileSize = os.path.getsize(Pms_FileName);
310
- if(mi_FileSize > 4200000000):
311
- print("File over size!!");
312
- return;
313
- # --------------------------------------------------
314
- with open(Pms_FileName, "rb") as obj_FP:
315
- obj_FileData = obj_FP.read();
316
- # --------------------------------------------------
317
- ms_SQL = f"UPDATE {Pms_TableName} SET {Pms_BlobFieldName}=%s WHERE {Pms_QUERY}";
318
- Pobj_Query.execute(ms_SQL, (obj_FileData,));
319
- # --------------------------------------------------
320
- self.CUobj_Conn.commit();
321
- # ----------------------------------------------------------------------
322
- def CUF_SET_BLOB(self, Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName):
323
- self.CUF_SetBlobField(Pobj_Query, Pms_TableName, Pms_QUERY, Pms_BlobFieldName, Pms_FileName);
324
-
325
-
326
- # --------------------------------------------------------------------------------
327
- # FUNC: 取得伺服主機系統日期時間
328
- # PIN :
329
- # POUT:
330
- # --------------------------------------------------------------------------------
331
- def CUF_GetServerDateTime(self, Pms_SEPCHAR_DATE, Pms_SEPCHAR_TIME,
332
- Pms_SEPERATOR):
333
- ms_DateTime = "";
334
- # ------------------------------------------------------------
335
- ms_FMT_DATE = "%Y" + Pms_SEPCHAR_DATE + "%m" + Pms_SEPCHAR_DATE + "%d";
336
- ms_FMT_TIME = "%H" + Pms_SEPCHAR_TIME + "%i" + Pms_SEPCHAR_TIME + "%s";
337
- # ------------------------------------------------------------
338
- ms_SQL = "SELECT CONCAT(DATE_FORMAT(CURRENT_DATE(), '"+ \
339
- ms_FMT_DATE + "'), '"+ Pms_SEPERATOR + \
340
- "',TIME_FORMAT(CURRENT_TIME(), '" + \
341
- ms_FMT_TIME + "')) AS _DATETIME";
342
- obj_MyQuery = self.CUF_DB_OpenSQL(self.CUobj_Conn, ms_SQL);
343
- obj_DataSet = self.CUF_DB_FETCH(obj_MyQuery);
344
- # ------------------------------------------------------------
345
- ms_DateTime = obj_DataSet["_DATETIME"];
346
- # ------------------------------------------------------------
347
- return(ms_DateTime);
348
- # --------------------------------------------------------------------------------
349
- def CUF_GetServerDateTime1(self, PmB_DELIMITER):
350
- if(PmB_DELIMITER == True):
351
- ms_RetVal = self.CUF_GetServerDateTime("/", ":", " ");
352
- else:
353
- ms_RetVal = self.CUF_GetServerDateTime("", "", "");
354
- # ------------------------------------------------------------
355
- return(ms_RetVal);
356
- # --------------------------------------------------------------------------------
357
- def CUF_GetServerDateTime2(self):
358
- return(self.CUF_GetServerDateTime("", "", ""));
359
- # --------------------------------------------------------------------------------
360
- def CUF_GetServerDate(self, Pms_DELIMITER):
361
- ms_DateTime = "";
362
- # ------------------------------------------------------------
363
- ms_SQL = "SELECT DATE_FORMAT(CURRENT_DATE(), " \
364
- "'%Y" + Pms_DELIMITER + "%m" + Pms_DELIMITER + \
365
- "%d') AS _DATE";
366
- obj_MyQuery = self.CUF_DB_OpenSQL(self.CUobj_Conn , ms_SQL);
367
- obj_DataSet = self.CUF_DB_FETCH(obj_MyQuery);
368
- # ------------------------------------------------------------
369
- ms_DateTime = obj_DataSet["_DATE"];
370
- # ------------------------------------------------------------
371
- return(ms_DateTime);
372
- # --------------------------------------------------------------------------------
373
- def CUF_GetServerTime(self, Pms_DELIMITER):
374
- ms_DateTime = "";
375
- # ------------------------------------------------------------
376
- ms_SQL = "SELECT TIME_FORMAT(CURRENT_TIME(), " \
377
- "'%H" + Pms_DELIMITER + "%i" + Pms_DELIMITER + \
378
- "%s') AS _TIME";
379
- obj_MyQuery = self.CUF_DB_OpenSQL(self.CUobj_Conn, ms_SQL);
380
- obj_DataSet = self.CUF_DB_FETCH(obj_MyQuery);
381
- # ------------------------------------------------------------
382
- ms_DateTime = obj_DataSet["_TIME"];
383
- # ------------------------------------------------------------
384
- return(ms_DateTime);
385
-
386
-
387
- # --------------------------------------------------------------------------------
388
- # FUNC: 日期時間計算 (相加/減 Pmi_TimeSecond)
389
- # PIN : Pms_DateTime 可配合使用 CUF_GetServerDateTime(...) 取得系統日期時間
390
- # Pmi_TImeSecond -59 ~ +59 秒
391
- # POUT:
392
- # --------------------------------------------------------------------------------
393
- def CUF_AddTime(self, Pms_DateTime, Pmi_TimeSecond):
394
- ms_SQL = "SELECT ADDTIME('"+ Pms_DateTime + "', "+\
395
- str(Pmi_TimeSecond)+ ") AS _TIMESTR ";
396
- obj_MyQuery = self.CUF_DB_OpenSQL(self.CUobj_Conn, ms_SQL);
397
- obj_DataSet = self.CUF_DB_FETCH(obj_MyQuery);
398
- ms_TimeSTR = obj_DataSet["_TIMESTR"];
399
- # ------------------------------------------------------------
400
- return(ms_TimeSTR);
401
-
402
-
403
- # --------------------------------------------------------------------------------
404
- # FUNC: 將目前時間 加/減 Pmi_TimeSecond 秒
405
- # PIN :
406
- # POUT:
407
- # --------------------------------------------------------------------------------
408
- def CUF_AddTime_Current(self, Pmi_TimeSecond):
409
- ms_CurrTime = self.CUF_GetServerDateTime1(True);
410
- ms_CurrTime = self.CUF_AddTime(ms_CurrTime, Pmi_TimeSecond);
411
- # ------------------------------------------------------------
412
- return(ms_CurrTime);
413
-
414
-
415
- # ---------------------------------------------------------------------------
416
- # 使用範例
417
- # ---------------------------------------------------------------------------
418
- if(__name__ == '__main__'):
419
- Gobj_mySQLDBCtrl = CLASS_mySQLDBCtrl();
420
- # ------------------------------------------------------------
421
- Gobj_Conn = Gobj_mySQLDBCtrl.CUF_OpenConnection(Pms_DB_HostIP= "mis.XXX.biz",
422
- Pmi_DB_Port = 1234,
423
- Pms_DB_Name = "goxxxh_mis",
424
- Pms_User = "xxxx",
425
- Pms_Password = "****");
426
- # ------------------------------------------------------------
427
- # [範例1]
428
- # ms_SQL = 'SELECT * From tbemployee';
429
- # obj_Query = Gobj_mySQLDBCtrl.CUF_DB_OpenSQL(Gobj_Conn, ms_SQL);
430
- # print(Gobj_mySQLDBCtrl.CUF_DB_FETCH(obj_Query)); # NEXT
431
- # print(Gobj_mySQLDBCtrl.CUF_DB_FETCH(obj_Query)); # NEXT
432
- # [範例2]
433
- # ms_SQL = "SELECT * From tbdepartment order by DEPNO";
434
- # obj_Query = self.CVobj_mySQLDBCtrl.CUF_DB_OpenSQL(self.CVobj_Conn, ms_SQL);
435
- #
436
- ms_SQL = """
437
- SELECT tbdepartment.*, tbemployee.*
438
- From tbemployee
439
- INNER JOIN tbdepartment ON (
440
- tbemployee.ZONE_ID = tbdepartment.ZONE_ID AND
441
- tbemployee.DEPNO = tbdepartment.DEPNO)
442
- WHERE EMPID >= 10 AND EMPID <= 30
443
- ORDER BY EMPID
444
- """;
445
- obj_Query = Gobj_mySQLDBCtrl.CUF_DB_OpenSQL(Gobj_Conn, ms_SQL);
446
- mi_RECCNT = Gobj_mySQLDBCtrl.CUF_DB_RecordCount(obj_Query);
447
- print("Record count = "+ str(mi_RECCNT));
448
-
449
- for mi_c in range(1, 10):
450
- obj_DataSet = Gobj_mySQLDBCtrl.CUF_DB_FETCH(obj_Query);
451
- print(obj_DataSet["DEPNO"], " ", obj_DataSet["DEPNAME"],
452
- obj_DataSet["EMPID"], " ", obj_DataSet["EMPNAME"]);
453
-
454
-
455
- ms_SQL = "SELECT * FROM _def_fileservicemedia_d "\
456
- " WHERE FolderType=1 AND MEDIAID=1 AND BlockID=1 ";
457
- obj_Query = Gobj_mySQLDBCtrl.CUF_DB_OpenSQL(Gobj_Conn, ms_SQL);
458
- Gobj_mySQLDBCtrl.CUF_SetBlobField(obj_Query, "_def_fileservicemedia_d",
459
- "FolderType=1 AND MEDIAID=1 AND BlockID=1 ",
460
- "Media_Block",
461
- "C:\\TEMP\\baselib.zip")
462
-
463
-
464
- ms_SQL = "SELECT * FROM _def_fileservicemedia_d "\
465
- " WHERE FolderType=1 AND MEDIAID=1 AND BlockID=1 ";
466
- obj_Query = Gobj_mySQLDBCtrl.CUF_DB_OpenSQL(Gobj_Conn, ms_SQL);
467
- Gobj_mySQLDBCtrl.CUF_GetBlobField(obj_Query, "Media_Block", "C:\\temp\\PPPKKK.zip");
468
-
469
- # ----------------------------------------------------------------------
470
- ms_SQL = "SELECT * From sysuserinfo ORDER BY USERID ";
471
- obj_ZQuery, obj_DataSet = obj_mySQLDBCtrl.CUF_DB_OpenSQL(obj_ZConn, ms_SQL);
472
-
473
- while not obj_mySQLDBCtrl.CUF_DB_Eof(obj_ZQuery):
474
- print("USERID="+ obj_mySQLDBCtrl.CUF_utf8(obj_DataSet["LOGIN"]));
475
- print("PASSWD="+ obj_mySQLDBCtrl.CUF_utf8(obj_DataSet["PASSWD"]));
476
- obj_DataSet = obj_mySQLDBCtrl.CUF_Next(obj_ZQuery);
477
-
478
-
479
-
@@ -1,7 +0,0 @@
1
- mySQLDBCtrlAPI/__init__.py,sha256=WAATQWzZgzaGObOW3SapBNZgB6n6Kr9Px_uSXdxj1vY,101
2
- mySQLDBCtrlAPI/mySQLDBCtrl.py,sha256=sCjQLBD26d6HRTZYZCEniJF-cZ2Zrl_pSFhrn2gH2lY,23942
3
- mysqldbctrlapi-1.2510.26.dist-info/licenses/LICENSE,sha256=bTN6shImvjBn0VScA1LIqy7LH3B_O6XZieGPnoT4Gxk,1054
4
- mysqldbctrlapi-1.2510.26.dist-info/METADATA,sha256=fnxorZnt53q4mBqdBxThQWnJL8p3MKScAnIy-w2_KbQ,1961
5
- mysqldbctrlapi-1.2510.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
6
- mysqldbctrlapi-1.2510.26.dist-info/top_level.txt,sha256=onworg8ic7UQRjmAT-NpGAJFJb4X9hU1rOlYUCD_gng,15
7
- mysqldbctrlapi-1.2510.26.dist-info/RECORD,,