| 1 | ;-- TIME_STAMP 2017-03-05 19:41:08 v 0.1
|
| |
| 2 |
|
| |
| 3 | #include-once
|
| |
| 4 | #include <Array.au3> |
1 | #include <Array.au3> |
| 5 | #include 'queryBuilder.au3' |
2 | #include 'queryBuilder.au3' |
| 6 | |
3 | |
| 7 | ; #INDEX# ======================================================================================================================= |
4 | ; #INDEX# ======================================================================================================================= |
| 8 | ; Title .........: SQL Query Builder |
5 | ; Title .........: SQL Query Builder |
| 9 | ; AutoIt Version : 3.3.14.2 |
6 | ; AutoIt Version : 3.3.14.2 |
| 10 | ; Language ......: German |
7 | ; Language ......: German |
| 11 | ; Description ...: SQL Query Builder |
8 | ; Description ...: SQL Query Builder |
| 12 | ; Insperiert of .: doctrine & Laravel |
9 | ; Insperiert of .: doctrine & Laravel |
| 13 | ; Author(s) .....: 4ern.de |
10 | ; Author(s) .....: 4ern.de |
| 14 | ; =============================================================================================================================== |
11 | ; =============================================================================================================================== |
| 15 | |
12 | |
| 16 | ; #Commands# ===================================================================================================================== |
13 | ; #Commands# ===================================================================================================================== |
| 17 | ; $SQL_debug |
14 | ; $SQL_debug |
| 18 | ; $SQL_connect |
15 | ; $SQL_connect |
| 19 | ; $SQL_returnType |
16 | ; $SQL_returnType |
| 20 | ; $SQL_setDefaultTable |
17 | ; $SQL_setDefaultTable |
| 21 | ; $SQL_setDefaultKey |
18 | ; $SQL_setDefaultKey |
| 22 | |
19 | |
| 23 | ; $SQL_get |
20 | ; $SQL_get |
| 24 | ; $SQL_update |
21 | ; $SQL_update |
| 25 | ; $SQL_delete |
22 | ; $SQL_delete |
| 26 | ; $SQL_insertInto |
23 | ; $SQL_insertInto |
| 27 | ; $SQL_take |
24 | ; $SQL_take |
| 28 | ; $SQL_limit |
25 | ; $SQL_limit |
| 29 | ; $SQL_table |
26 | ; $SQL_table |
| 30 | ; $SQL_select |
27 | ; $SQL_select |
| 31 | ; $SQL_distinct |
28 | ; $SQL_distinct |
| 32 | ; |
29 | ; |
| 33 | ; $SQL_where |
30 | ; $SQL_where |
| 34 | ; $SQL_orWhere |
31 | ; $SQL_orWhere |
| 35 | ; $SQL_whereBetween |
32 | ; $SQL_whereBetween |
| 36 | ; $SQL_whereNotBetween |
33 | ; $SQL_whereNotBetween |
| 37 | ; $SQL_whereIn |
34 | ; $SQL_whereIn |
| 38 | ; $SQL_whereNotIn |
35 | ; $SQL_whereNotIn |
| 39 | ; $SQL_whereNull |
36 | ; $SQL_whereNull |
| 40 | ; $SQL_whereNotNull |
37 | ; $SQL_whereNotNull |
| 41 | ; $SQL_having |
38 | ; $SQL_having |
| 42 | ; $SQL_orHaving |
39 | ; $SQL_orHaving |
| 43 | ; $SQL_havingBetween |
40 | ; $SQL_havingBetween |
| 44 | ; $SQL_havingNotBetween |
41 | ; $SQL_havingNotBetween |
| 45 | ; $SQL_havingIn |
42 | ; $SQL_havingIn |
| 46 | ; $SQL_havingNotIn |
43 | ; $SQL_havingNotIn |
| 47 | ; $SQL_havingNull |
44 | ; $SQL_havingNull |
| 48 | ; $SQL_havingNotNull |
45 | ; $SQL_havingNotNull |
| 49 | ; $SQL_groupBy |
46 | ; $SQL_groupBy |
| 50 | ; $SQL_orderBy |
47 | ; $SQL_orderBy |
| 51 | ; =============================================================================================================================== |
48 | ; =============================================================================================================================== |
| 52 | |
49 | |
| 53 | ; #IN PLANNING# ================================================================================================================= |
50 | ; #IN PLANNING# ================================================================================================================= |
| 54 | ; + Database |
51 | ; + Database |
| 55 | ; - SQL Create Table |
52 | ; - SQL Create Table |
| 56 | ; - SQL Drop Table |
53 | ; - SQL Drop Table |
| 57 | ; - SQL Truncate Table |
54 | ; - SQL Truncate Table |
| 58 | ; - SQL Alter |
55 | ; - SQL Alter |
| 59 | ; - SQL View |
56 | ; - SQL View |
| 60 | ; + Aggregates |
57 | ; + Aggregates |
| 61 | ; - SQL AVG() Function |
58 | ; - SQL AVG() Function |
| 62 | ; - SQL COUNT() Function |
59 | ; - SQL COUNT() Function |
| 63 | ; - SQL SUM() Function |
60 | ; - SQL SUM() Function |
| 64 | ; - SQL MAX() Function |
61 | ; - SQL MAX() Function |
| 65 | ; - SQL MIN() Function |
62 | ; - SQL MIN() Function |
| 66 | ; + SQL Joins |
63 | ; + SQL Joins |
| 67 | ; - SQL INNER JOIN |
64 | ; - SQL INNER JOIN |
| 68 | ; - SQL LEFT JOIN |
65 | ; - SQL LEFT JOIN |
| 69 | ; - SQL RIGHT JOIN |
66 | ; - SQL RIGHT JOIN |
| 70 | ; + Unions |
67 | ; + Unions |
| 71 | ; + Oracle Connection |
68 | ; + Oracle Connection |
| 72 | ; + PostgrSQl Connection |
69 | ; + PostgrSQl Connection |
| 73 | ; =============================================================================================================================== |
70 | ; =============================================================================================================================== |
| 74 | |
71 | |
| 75 | ; #INTERNAL_USE_ONLY# =========================================================================================================== |
72 | ; #INTERNAL_USE_ONLY# =========================================================================================================== |
| 76 | ; __4ern_SQL__IsDefault ;thx BugFix |
73 | ; __4ern_SQL__IsDefault ;thx BugFix |
| 77 | ; __4ern_SQL_rawQuery |
74 | ; __4ern_SQL_rawQuery |
| 78 | ; __4ern_SQL_raw_getAll |
75 | ; __4ern_SQL_raw_getAll |
| 79 | ; __4ern_SQL_raw_getFirst |
76 | ; __4ern_SQL_raw_getFirst |
| 80 | ; __4ern_SQL__QueryBuilder__table |
77 | ; __4ern_SQL__QueryBuilder__table |
| 81 | ; __4ern_SQL__QueryBuilder__SELECT |
78 | ; __4ern_SQL__QueryBuilder__SELECT |
| 82 | ; __4ern_SQL__QueryBuilder__WHERE |
79 | ; __4ern_SQL__QueryBuilder__WHERE |
| 83 | ; __4ern_SQL__QueryBuilder__groupBy |
80 | ; __4ern_SQL__QueryBuilder__groupBy |
| 84 | ; __4ern_SQL__QueryBuilder__Orderby |
81 | ; __4ern_SQL__QueryBuilder__Orderby |
| 85 | ; =============================================================================================================================== |
82 | ; =============================================================================================================================== |
| 86 | |
83 | |
| 87 | ; #GLOBAL CONSTANTS# ============================================================================================================ |
84 | ; #GLOBAL CONSTANTS# ============================================================================================================ |
| 88 | ; FUNKTIONS KONSTANTEN |
85 | ; FUNKTIONS KONSTANTEN |
| 89 | ; =============================================================================================================================== |
86 | ; =============================================================================================================================== |
| 90 | $SQL_debug = __4ern_SQL_Console_startUp |
87 | $SQL_debug = __4ern_SQL_Console_startUp |
| 91 | $SQL_connect = __4ern_SQL_Connect |
88 | $SQL_connect = __4ern_SQL_Connect |
| 92 | $SQL_returnType = __4ern_SQL_defReturn |
89 | $SQL_returnType = __4ern_SQL_defReturn |
| 93 | $SQL_setDefaultTable = __4ern_SQL__QueryBuilder__setTable |
90 | $SQL_setDefaultTable = __4ern_SQL__QueryBuilder__setTable |
| 94 | $SQL_setDefaultKey = __4ern_SQL__QueryBuilder__setkey |
91 | $SQL_setDefaultKey = __4ern_SQL__QueryBuilder__setkey |
| 95 | $SQL_setDatabase = __4ern_set_SQL_Connection |
92 | $SQL_setDatabase = __4ern_set_SQL_Connection |
| 96 | |
93 | |
| 97 | $SQL_get = __4ern_SQL_QueryBuilder_get |
94 | $SQL_get = __4ern_SQL_QueryBuilder_get |
| 98 | $SQL_update = __4ern_SQL_QueryBuilder_Update |
95 | $SQL_update = __4ern_SQL_QueryBuilder_Update |
| 99 | $SQL_delete = __4ern_SQL_QueryBuilder_Delete |
96 | $SQL_delete = __4ern_SQL_QueryBuilder_Delete |
| 100 | $SQL_insertInto = __4ern_SQL_Query_insert |
97 | $SQL_insertInto = __4ern_SQL_Query_insert |
| 101 | $SQL_take = __4ern_SQL__QueryBuilder__limit |
98 | $SQL_take = __4ern_SQL__QueryBuilder__limit |
| 102 | $SQL_limit = __4ern_SQL__QueryBuilder__limit |
99 | $SQL_limit = __4ern_SQL__QueryBuilder__limit |
| 103 | $SQL_table = __4ern_SQL_Query_table |
100 | $SQL_table = __4ern_SQL_Query_table |
| 104 | $SQL_select = __4ern_SQL_Query_select |
101 | $SQL_select = __4ern_SQL_Query_select |
| 105 | $SQL_distinct = __4ern_SQL_Query_distinct |
102 | $SQL_distinct = __4ern_SQL_Query_distinct |
| 106 | $SQL_where = __4ern_SQL_Query_where |
103 | $SQL_where = __4ern_SQL_Query_where |
| 107 | $SQL_orWhere = __4ern_SQL_Query_orWhere |
104 | $SQL_orWhere = __4ern_SQL_Query_orWhere |
| 108 | $SQL_whereBetween = __4ern_SQL_Query_whereBetween |
105 | $SQL_whereBetween = __4ern_SQL_Query_whereBetween |
| 109 | $SQL_whereNotBetween = __4ern_SQL_Query_whereNotBetween |
106 | $SQL_whereNotBetween = __4ern_SQL_Query_whereNotBetween |
| 110 | $SQL_whereIn = __4ern_SQL_Query_whereIn |
107 | $SQL_whereIn = __4ern_SQL_Query_whereIn |
| 111 | $SQL_whereNotIn = __4ern_SQL_Query_whereNotIn |
108 | $SQL_whereNotIn = __4ern_SQL_Query_whereNotIn |
| 112 | $SQL_whereNull = __4ern_SQL_Query_whereNull |
109 | $SQL_whereNull = __4ern_SQL_Query_whereNull |
| 113 | $SQL_whereNotNull = __4ern_SQL_Query_whereNotNull |
110 | $SQL_whereNotNull = __4ern_SQL_Query_whereNotNull |
| 114 | $SQL_having = __4ern_SQL_Query_having |
111 | $SQL_having = __4ern_SQL_Query_having |
| 115 | $SQL_orHaving = __4ern_SQL_Query_orHaving |
112 | $SQL_orHaving = __4ern_SQL_Query_orHaving |
| 116 | $SQL_havingBetween = __4ern_SQL_Query_havingBetween |
113 | $SQL_havingBetween = __4ern_SQL_Query_havingBetween |
| 117 | $SQL_havingNotBetween = __4ern_SQL_Query_havingNotBetween |
114 | $SQL_havingNotBetween = __4ern_SQL_Query_havingNotBetween |
| 118 | $SQL_havingIn = __4ern_SQL_Query_havingIn |
115 | $SQL_havingIn = __4ern_SQL_Query_havingIn |
| 119 | $SQL_havingNotIn = __4ern_SQL_Query_havingNotIn |
116 | $SQL_havingNotIn = __4ern_SQL_Query_havingNotIn |
| 120 | $SQL_havingNull = __4ern_SQL_Query_havingNull |
117 | $SQL_havingNull = __4ern_SQL_Query_havingNull |
| 121 | $SQL_havingNotNull = __4ern_SQL_Query_havingNotNull |
118 | $SQL_havingNotNull = __4ern_SQL_Query_havingNotNull |
| 122 | $SQL_groupBy = __4ern_SQL__QueryBuilder__groupBy |
119 | $SQL_groupBy = __4ern_SQL__QueryBuilder__groupBy |
| 123 | $SQL_orderBy = __4ern_SQL_Query_orderBy |
120 | $SQL_orderBy = __4ern_SQL_Query_orderBy |
| 124 | $SQL_raw = __4ern_SQL_rawQueryExpr |
121 | $SQL_raw = __4ern_SQL_rawQueryExpr |
| 125 | |
122 | |
| 126 | ; #FUNCTION# ==================================================================================================================== |
123 | ; #FUNCTION# ==================================================================================================================== |
| 127 | ; Author ........: 4ern.de |
124 | ; Author ........: 4ern.de |
| |
125 | ; Description....: AU3 Check Syntax
|
| |
126 | ; Source.........: queryBuilder.au3
|
| |
127 | ; ===============================================================================================================================
|
| |
128 | #ignorefunc __4ern_SQL__QueryBuilder__setTable
|
| |
129 | #ignorefunc __4ern_SQL__QueryBuilder__setkey
|
| |
130 | #ignorefunc __4ern_SQL_QueryBuilder_get
|
| |
131 | #ignorefunc __4ern_SQL_QueryBuilder_Update
|
| |
132 | #ignorefunc __4ern_SQL_QueryBuilder_Delete
|
| |
133 | #ignorefunc __4ern_SQL_Query_insert
|
| |
134 | #ignorefunc __4ern_SQL__QueryBuilder__limit
|
| |
135 | #ignorefunc __4ern_SQL_Query_table
|
| |
136 | #ignorefunc __4ern_SQL_Query_select
|
| |
137 | #ignorefunc __4ern_SQL_Query_distinct
|
| |
138 | #ignorefunc __4ern_SQL_Query_where
|
| |
139 | #ignorefunc __4ern_SQL_Query_orWhere
|
| |
140 | #ignorefunc __4ern_SQL_Query_whereBetween
|
| |
141 | #ignorefunc __4ern_SQL_Query_whereNotBetween
|
| |
142 | #ignorefunc __4ern_SQL_Query_whereIn
|
| |
143 | #ignorefunc __4ern_SQL_Query_whereNotIn
|
| |
144 | #ignorefunc __4ern_SQL_Query_whereNull
|
| |
145 | #ignorefunc __4ern_SQL_Query_whereNotNull
|
| |
146 | #ignorefunc __4ern_SQL_Query_having
|
| |
147 | #ignorefunc __4ern_SQL_Query_orHaving
|
| |
148 | #ignorefunc __4ern_SQL_Query_havingBetween
|
| |
149 | #ignorefunc __4ern_SQL_Query_havingNotBetween
|
| |
150 | #ignorefunc __4ern_SQL_Query_havingIn
|
| |
151 | #ignorefunc __4ern_SQL_Query_havingNotIn
|
| |
152 | #ignorefunc __4ern_SQL_Query_havingNull
|
| |
153 | #ignorefunc __4ern_SQL_Query_havingNotNull
|
| |
154 | #ignorefunc __4ern_SQL__QueryBuilder__groupBy
|
| |
155 | #ignorefunc __4ern_SQL_Query_orderBy
|
| |
156 | #ignorefunc __4ern_SQL_rawQueryExpr
|
| |
157 |
|
| |
158 | ; #FUNCTION# ====================================================================================================================
|
| |
159 | ; Author ........: 4ern.de
|
| 128 | ; Description....: set Default Database |
160 | ; Description....: set Default Database |
| 129 | ; ...............: Default: MySQL |
161 | ; ...............: Default: MySQL |
| 130 | ; =============================================================================================================================== |
162 | ; =============================================================================================================================== |
| 131 | Func __4ern_set_SQL_Connection($database = 'mysql') |
163 | Func __4ern_set_SQL_Connection($database = 'mysql') |
| 132 | __4ern_SQL_Connection('set', -1, -1, -1, -1, -1, $database) |
164 | __4ern_SQL_Connection('set', -1, -1, -1, -1, -1, $database) |
| 133 | EndFunc ;==>__4ern_set_SQL_Connection |
165 | EndFunc ;==>__4ern_set_SQL_Connection |
| 134 | |
166 | |
| 135 | ; #FUNCTION# ==================================================================================================================== |
167 | ; #FUNCTION# ==================================================================================================================== |
| 136 | ; Author ........: BugFix |
168 | ; Author ........: BugFix |
| 137 | ; =============================================================================================================================== |
169 | ; =============================================================================================================================== |
| 138 | Func __4ern_SQL__IsDefault($var, $sOtherDefaults = '-0', $sDelim = Default) |
170 | Func __4ern_SQL__IsDefault($var, $sOtherDefaults = '-0', $sDelim = Default) |
| 139 | Local $aDef[1] = [0], $match = 0 |
171 | Local $aDef[1] = [0], $match = 0 |
| 140 | If IsKeyword($sDelim) Then $sDelim = Opt('GUIDataSeparatorChar') |
172 | If IsKeyword($sDelim) Then $sDelim = Opt('GUIDataSeparatorChar') |
| 141 | If $sOtherDefaults <> '-0' Then $aDef = StringSplit($sOtherDefaults, $sDelim, 1) |
173 | If $sOtherDefaults <> '-0' Then $aDef = StringSplit($sOtherDefaults, $sDelim, 1) |
| 142 | If Not $aDef[0] Then Return IsKeyword($var) |
174 | If Not $aDef[0] Then Return IsKeyword($var) |
| 143 | For $i = 1 To $aDef[0] |
175 | For $i = 1 To $aDef[0] |
| 144 | If $var = $aDef[$i] Then $match = 1 |
176 | If $var = $aDef[$i] Then $match = 1 |
| 145 | Next |
177 | Next |
| 146 | If Not $match Then Return IsKeyword($var) |
178 | If Not $match Then Return IsKeyword($var) |
| 147 | Return 1 |
179 | Return 1 |
| 148 | EndFunc ;==>__4ern_SQL__IsDefault |
180 | EndFunc ;==>__4ern_SQL__IsDefault |
| 149 | |
181 | |
| 150 | ; #FUNCTION# ==================================================================================================================== |
182 | ; #FUNCTION# ==================================================================================================================== |
| 151 | ; Author ........: 4ern.de |
183 | ; Author ........: 4ern.de |
| 152 | ; Description....: MSSQL ADO Connection Object |
184 | ; Description....: MSSQL ADO Connection Object |
| 153 | ; ===================================================================================================================== |
185 | ; ===================================================================================================================== |
| 154 | Func __4ern_SQL_Connect($pDB = Default, $pUSER = Default, $pPASSWORD = Default, $pSERVER = Default, $pDRIVER = Default, $action = Default) |
186 | Func __4ern_SQL_Connect($pDB = Default, $pUSER = Default, $pPASSWORD = Default, $pSERVER = Default, $pDRIVER = Default, $action = Default) |
| 155 |
|
187 | |
| 156 | ;----------------------------------------------------------------------------------------------/ |
188 | ;----------------------------------------------------------------------------------------------/ |
| 157 | ; Deklaration |
189 | ; Deklaration |
| 158 | ;----------------------------------------------------------------------------------------------/ |
190 | ;----------------------------------------------------------------------------------------------/ |
| 159 | Global $gO__4ern_SQLError = ObjEvent("AutoIt.Error", "__4ern_SQL_errFunc") |
191 | Global $gO__4ern_SQLError = ObjEvent("AutoIt.Error", "__4ern_SQL_errFunc") |
| 160 | Local Static $oCon, $SERVER = Null, $DB = Null, $USER = Null, $PASSWORD = Null, $DRIVER, $conInfo = Null |
192 | Local Static $oCon, $SERVER = Null, $DB = Null, $USER = Null, $PASSWORD = Null, $DRIVER, $conInfo = Null |
| 161 | |
193 | |
| 162 | ;----------------------------------------------------------------------------------------------/ |
194 | ;----------------------------------------------------------------------------------------------/ |
| 163 | ; Erstelle ein ADODB Verbindung |
195 | ; Erstelle ein ADODB Verbindung |
| 164 | ;----------------------------------------------------------------------------------------------/ |
196 | ;----------------------------------------------------------------------------------------------/ |
| 165 | $oCon = ObjCreate('ADODB.Connection') |
197 | $oCon = ObjCreate('ADODB.Connection') |
| 166 | $oCon.ConnectionTimeout = 30 |
198 | $oCon.ConnectionTimeout = 30 |
| 167 | |
199 | |
| 168 | ;----------------------------------------------------------------------------------------------/ |
200 | ;----------------------------------------------------------------------------------------------/ |
| 169 | ; Setze DEFAULTS |
201 | ; Setze DEFAULTS |
| 170 | ;----------------------------------------------------------------------------------------------/ |
202 | ;----------------------------------------------------------------------------------------------/ |
| 171 | If $action = Default Then $action = 'get()' |
203 | If $action = Default Then $action = 'get()' |
| 172 | If $pDB <> Default Then $DB = $pDB |
204 | If $pDB <> Default Then $DB = $pDB |
| 173 | If $pUSER <> Default Then $USER = $pUSER |
205 | If $pUSER <> Default Then $USER = $pUSER |
| 174 | If $pPASSWORD <> Default Then $PASSWORD = $pPASSWORD |
206 | If $pPASSWORD <> Default Then $PASSWORD = $pPASSWORD |
| 175 | If $pSERVER <> Default Then $SERVER = $pSERVER |
207 | If $pSERVER <> Default Then $SERVER = $pSERVER |
| 176 | If $pDRIVER <> Default Then $DRIVER = $pDRIVER |
208 | If $pDRIVER <> Default Then $DRIVER = $pDRIVER |
| 177 | |
209 | |
| 178 | ;----------------------------------------------------------------------------------------------/ |
210 | ;----------------------------------------------------------------------------------------------/ |
| 179 | ; Prüfe ob alle Zugangsparameter vorhanden sind. |
211 | ; Prüfe ob alle Zugangsparameter vorhanden sind. |
| 180 | ;----------------------------------------------------------------------------------------------/ |
212 | ;----------------------------------------------------------------------------------------------/ |
| 181 | $errorLogin = False |
213 | $errorLogin = False |
| 182 | Switch __4ern_SQL_Connection() |
214 | Switch __4ern_SQL_Connection() |
| 183 | Case 'mySql', 'sqlServer' |
215 | Case 'mySql' |
| 184 | If $DB = Null Or $USER = Null Or $PASSWORD = Null Or $SERVER = Null Then $errorLogin = True |
216 | If ($DB = Null) Or ($USER = Null) Or ($PASSWORD = Null) Or ($SERVER = Null) Then $errorLogin = True |
| |
217 | Case 'sqlServer' |
| |
218 | If ($DB = Null) Or ($USER = Null) Or ($PASSWORD = Null) Or ($SERVER = Null) Then $errorLogin = True |
| 185 | Case 'access' |
219 | Case 'access' |
| 186 | If $DB = Null Or $USER = Null Or $PASSWORD = Null Then $errorLogin = True |
220 | If ($DB = Null) Or ($USER = Null) Or ($PASSWORD = Null) Then $errorLogin = True |
| 187 | Case 'sqLite' |
221 | Case 'sqLite' |
| 188 | If $DB = Null Then $errorLogin = True |
222 | If ($DB = Null) Then $errorLogin = True |
| 189 | EndSwitch |
223 | EndSwitch |
| 190 |
|
224 | |
| 191 | If ($errorLogin = True) Then |
225 | If ($errorLogin = True) Then |
| 192 | __4ern_SQL_Console('error', 'Fehler!', 'Eines der Zugangsparameter´oder der Datenbankpfad wurde nicht angegeben.') |
226 | __4ern_SQL_Console('error', 'Fehler!', 'Eines der Zugangsparameter´oder der Datenbankpfad wurde nicht angegeben.') |
| 193 | Return SetError(1) |
227 | Return SetError(1) |
| 194 | EndIf |
228 | EndIf |
| 195 | |
229 | |
| 196 | ;----------------------------------------------------------------------------------------------/ |
230 | ;----------------------------------------------------------------------------------------------/ |
| 197 | ; Connection Information |
231 | ; Connection Information |
| 198 | ;----------------------------------------------------------------------------------------------/ |
232 | ;----------------------------------------------------------------------------------------------/ |
| 199 | If $conInfo == Null Then |
233 | If $conInfo == Null Then |
| 200 | __4ern_SQL_Console('info', 'Connection String', _ |
234 | __4ern_SQL_Console('info', 'Connection String', StringFormat('DATABASE=%s, SERVER=%s, DATABASE=%s, $USER=%s, PW=***, TimeOut=%s', __4ern_SQL_Connection(), $SERVER, $DB, $USER, $oCon.ConnectionTimeout)) |
| 201 | StringFormat('DATABASE=%s, SERVER=%s, DATABASE=%s, $USER=%s, PW=***, TimeOut=%s', _ |
| |
| 202 | __4ern_SQL_Connection(), $SERVER, $DB, $USER, $oCon.ConnectionTimeout)) |
| |
| 203 | $conInfo = 1 |
235 | $conInfo = 1 |
| 204 | EndIf |
236 | EndIf |
| 205 | |
237 | |
| 206 | ;----------------------------------------------------------------------------------------------/ |
238 | ;----------------------------------------------------------------------------------------------/ |
| 207 | ; Schließe Connection falls diese offen ist. |
239 | ; Schließe Connection falls diese offen ist. |
| 208 | ;----------------------------------------------------------------------------------------------/ |
240 | ;----------------------------------------------------------------------------------------------/ |
| 209 | If Not $oCon.state = 0 Then $oCon.close |
241 | If Not $oCon.state = 0 Then $oCon.close |
| 210 | |
242 | |
| 211 | ;----------------------------------------------------------------------------------------------/ |
243 | ;----------------------------------------------------------------------------------------------/ |
| 212 | ; Action |
244 | ; Action |
| 213 | ;----------------------------------------------------------------------------------------------/ |
245 | ;----------------------------------------------------------------------------------------------/ |
| 214 | Switch $action |
246 | Switch $action |
| 215 | |
247 | |
| 216 | ;----------------------------------------------------------------------------------------------/ |
248 | ;----------------------------------------------------------------------------------------------/ |
| 217 | ; Verbindungsaufbau |
249 | ; Verbindungsaufbau |
| 218 | ;----------------------------------------------------------------------------------------------/ |
250 | ;----------------------------------------------------------------------------------------------/ |
| 219 | Case 'write()' |
251 | Case 'write()' |
| 220 |
|
252 | |
| 221 | ;----------------------------------------------------------------------------------------------/ |
253 | ;----------------------------------------------------------------------------------------------/ |
| 222 | ; Wenn Objekt erstellt wurde, stelle Verbindung her. |
254 | ; Wenn Objekt erstellt wurde, stelle Verbindung her. |
| 223 | ;----------------------------------------------------------------------------------------------/ |
255 | ;----------------------------------------------------------------------------------------------/ |
| 224 | If IsObj($oCon) Then |
256 | If IsObj($oCon) Then |
| 225 | ;----------------------------------------------------------------------------------------------/ |
257 | ;----------------------------------------------------------------------------------------------/ |
| 226 | ; Object Mode |
258 | ; Object Mode |
| 227 | ;----------------------------------------------------------------------------------------------/ |
259 | ;----------------------------------------------------------------------------------------------/ |
| 228 | $oCon.Mode = 16 |
260 | $oCon.Mode = 16 |
| 229 | |
261 | |
| 230 | Else |
262 | Else |
| 231 | __4ern_SQL_Console('error', '$oCon = ObjCreate', 'ADODB Objekt konnte nicht erstellt werden.') |
263 | __4ern_SQL_Console('error', '$oCon = ObjCreate', 'ADODB Objekt konnte nicht erstellt werden.') |
| 232 | Return SetError(3, '', 0) |
264 | Return SetError(3, '', 0) |
| 233 | EndIf |
265 | EndIf |
| 234 | |
266 | |
| 235 | ;----------------------------------------------------------------------------------------------/ |
267 | ;----------------------------------------------------------------------------------------------/ |
| 236 | ; Beende die ADODB Verbindung |
268 | ; Beende die ADODB Verbindung |
| 237 | ;----------------------------------------------------------------------------------------------/ |
269 | ;----------------------------------------------------------------------------------------------/ |
| 238 | Case 'get()' |
270 | Case 'get()' |
| 239 | |
271 | |
| 240 | ;----------------------------------------------------------------------------------------------/ |
272 | ;----------------------------------------------------------------------------------------------/ |
| 241 | ; Wenn Objekt erstellt wurde, stelle Verbindung her. |
273 | ; Wenn Objekt erstellt wurde, stelle Verbindung her. |
| 242 | ;----------------------------------------------------------------------------------------------/ |
274 | ;----------------------------------------------------------------------------------------------/ |
| 243 | If IsObj($oCon) Then |
275 | If IsObj($oCon) Then |
| 244 | ;----------------------------------------------------------------------------------------------/ |
276 | ;----------------------------------------------------------------------------------------------/ |
| 245 | ; Cursor Side |
277 | ; Cursor Side |
| 246 | ;----------------------------------------------------------------------------------------------/ |
278 | ;----------------------------------------------------------------------------------------------/ |
| 247 | $oCon.CursorLocation = 3 |
279 | $oCon.CursorLocation = 3 |
| 248 | |
280 | |
| 249 | Else |
281 | Else |
| 250 | __4ern_SQL_Console('error', '$oCon = ObjCreate', 'ADODB Objekt konnte nicht erstellt werden.') |
282 | __4ern_SQL_Console('error', '$oCon = ObjCreate', 'ADODB Objekt konnte nicht erstellt werden.') |
| 251 | Return SetError(3, '', 0) |
283 | Return SetError(3, '', 0) |
| 252 | EndIf |
284 | EndIf |
| 253 | |
285 | |
| 254 | Case 'reset()' |
286 | Case 'reset()' |
| 255 | $oCon.close |
287 | $oCon.close |
| 256 | $conInfo = Null |
288 | $conInfo = Null |
| 257 | $SERVER = Null |
289 | $SERVER = Null |
| 258 | $DB = Null |
290 | $DB = Null |
| 259 | $USER = Null |
291 | $USER = Null |
| 260 | $PASSWORD = Null |
292 | $PASSWORD = Null |
| 261 | Return |
293 | Return |
| 262 | EndSwitch |
294 | EndSwitch |
| 263 | |
295 | |
| 264 | ;----------------------------------------------------------------------------------------------/ |
296 | ;----------------------------------------------------------------------------------------------/ |
| 265 | ; SQL Server Connection String |
297 | ; SQL Server Connection String |
| 266 | ;----------------------------------------------------------------------------------------------/ |
298 | ;----------------------------------------------------------------------------------------------/ |
| 267 | $oCon.Open(__4ern_SQL_Connection('getConnectionString', $SERVER, $DB, $USER, $PASSWORD, $DRIVER)) |
299 | $oCon.Open(__4ern_SQL_Connection('getConnectionString', $SERVER, $DB, $USER, $PASSWORD, $DRIVER)) |
| 268 | If @error Then |
300 | If @error Then |
| 269 | __4ern_SQL_Console('error', '$oCon.Open', 'Verbindung zum Server konnte nicht hergestellt werden.') |
301 | __4ern_SQL_Console('error', '$oCon.Open', 'Verbindung zum Server konnte nicht hergestellt werden.') |
| 270 | Return SetError(2, '', 0) |
302 | Return SetError(2, '', 0) |
| 271 | EndIf |
303 | EndIf |
| 272 |
|
304 | |
| 273 | ;----------------------------------------------------------------------------------------------/ |
305 | ;----------------------------------------------------------------------------------------------/ |
| 274 | ; Retrun ADO Connection Object |
306 | ; Retrun ADO Connection Object |
| 275 | ;----------------------------------------------------------------------------------------------/ |
307 | ;----------------------------------------------------------------------------------------------/ |
| 276 | Return $oCon |
308 | Return $oCon |
| 277 | EndFunc ;==>__4ern_SQL_Connect |
309 | EndFunc ;==>__4ern_SQL_Connect |
| 278 | |
310 | |
| 279 | ; #FUNCTION# ==================================================================================================================== |
311 | ; #FUNCTION# ==================================================================================================================== |
| 280 | ; Author ........: 4ern.de |
312 | ; Author ........: 4ern.de |
| 281 | ; Description....: set Connectionstrings |
313 | ; Description....: set Connectionstrings |
| 282 | ; ...............: Default: MySQL |
314 | ; ...............: Default: MySQL |
| 283 | ; ...............: ConnectionString |
315 | ; ...............: ConnectionString |
| 284 | ; |
316 | ; |
| 285 | ; ...............: https://www.connectionstrings.com |
317 | ; ...............: https://www.connectionstrings.com |
| 286 | ; =============================================================================================================================== |
318 | ; =============================================================================================================================== |
| 287 | Func __4ern_SQL_Connection($action = 'getDatabase', $SERVER = Null, $DB = Null, $USER = Null, $PASSWORD = Null, $DRIVER = Null, $database = Null) |
319 | Func __4ern_SQL_Connection($action = 'getDatabase', $SERVER = Null, $DB = Null, $USER = Null, $PASSWORD = Null, $DRIVER = Null, $database = Null) |
| 288 |
|
320 | |
| 289 | Local Static $databaseDefault |
321 | Local Static $databaseDefault |
| 290 | |
322 | |
| 291 | ;----------------------------------------------------------------------------------------------/ |
323 | ;----------------------------------------------------------------------------------------------/ |
| 292 | ; setze die Standart Datenbank |
324 | ; setze die Standart Datenbank |
| 293 | ;----------------------------------------------------------------------------------------------/ |
325 | ;----------------------------------------------------------------------------------------------/ |
| 294 | If $action = 'set' Then |
326 | If $action = 'set' Then |
| 295 | $databaseDefault = $database |
327 | $databaseDefault = $database |
| 296 | Return $databaseDefault |
328 | Return $databaseDefault |
| 297 | EndIf |
329 | EndIf |
| 298 | |
330 | |
| 299 | ;----------------------------------------------------------------------------------------------/ |
331 | ;----------------------------------------------------------------------------------------------/ |
| 300 | ; Übergebe die gesetzte Database |
332 | ; Übergebe die gesetzte Database |
| 301 | ;----------------------------------------------------------------------------------------------/ |
333 | ;----------------------------------------------------------------------------------------------/ |
| 302 | If $action = 'getDatabase' Then Return $databaseDefault |
334 | If $action = 'getDatabase' Then Return $databaseDefault |
| 303 | |
335 | |
| 304 | ;----------------------------------------------------------------------------------------------/ |
336 | ;----------------------------------------------------------------------------------------------/ |
| 305 | ; Übergebe den Connectionstring |
337 | ; Übergebe den Connectionstring |
| 306 | ;----------------------------------------------------------------------------------------------/ |
338 | ;----------------------------------------------------------------------------------------------/ |
| 307 | If $action = 'getConnectionString' Then |
339 | If $action = 'getConnectionString' Then |
| 308 | Switch $databaseDefault |
340 | Switch $databaseDefault |
| 309 |
|
341 | |
| 310 | Case 'mySql' |
342 | Case 'mySql' |
| 311 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then _
|
343 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then
|
| 312 | Return StringFormat('Driver={MySQL ODBC 5.3 ANSI Driver};Server=%s;Database=%s;User=%s;Password=%s;', $SERVER, $DB, $USER, $PASSWORD) |
344 | Return StringFormat('Driver={MySQL ODBC 5.3 ANSI Driver};Server=%s;Database=%s;User=%s;Password=%s;', $SERVER, $DB, $USER, $PASSWORD) |
| |
345 | EndIf |
| 313 | Return StringFormat('Driver={%s};Server=%s;Database=%s;User=%s;Password=%s;', $DRIVER, $SERVER, $DB, $USER, $PASSWORD) |
346 | Return StringFormat('Driver={%s};Server=%s;Database=%s;User=%s;Password=%s;', $DRIVER, $SERVER, $DB, $USER, $PASSWORD) |
| 314 |
|
347 | |
| 315 | Case 'sqlServer' |
348 | Case 'sqlServer' |
| 316 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then _
|
349 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then
|
| 317 | Return StringFormat('DRIVER={SQL Server};SERVER=%s;DATABASE=%s;uid=%s;pwd=%s;', $SERVER, $DB, $USER, $PASSWORD) |
350 | Return StringFormat('DRIVER={SQL Server};SERVER=%s;DATABASE=%s;uid=%s;pwd=%s;', $SERVER, $DB, $USER, $PASSWORD) |
| |
351 | EndIf |
| 318 | Return StringFormat('DRIVER={%s};SERVER=%s;DATABASE=%s;uid=%s;pwd=%s;', $DRIVER, $SERVER, $DB, $USER, $PASSWORD) |
352 | Return StringFormat('DRIVER={%s};SERVER=%s;DATABASE=%s;uid=%s;pwd=%s;', $DRIVER, $SERVER, $DB, $USER, $PASSWORD) |
| 319 |
|
353 | |
| 320 | Case 'access' |
354 | Case 'access' |
| 321 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then _
|
355 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then
|
| 322 | Return StringFormat('Driver={Microsoft Access Driver (*.mdb)};%s;Uid=%s;Pwd=%s;', $DB, $USER, $PASSWORD) |
356 | Return StringFormat('Driver={Microsoft Access Driver (*.mdb)};%s;Uid=%s;Pwd=%s;', $DB, $USER, $PASSWORD) |
| |
357 | EndIf |
| 323 | Return StringFormat('Driver={%s};%s;Uid=%s;Pwd=%s;', $DRIVER, $DB, $USER, $PASSWORD) |
358 | Return StringFormat('Driver={%s};%s;Uid=%s;Pwd=%s;', $DRIVER, $DB, $USER, $PASSWORD) |
| 324 | |
359 | |
| 325 | Case 'sqLite' |
360 | Case 'sqLite' |
| 326 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then _
|
361 | If __4ern_SQL__IsDefault($DRIVER, '-1,', ',') Then
|
| 327 | Return StringFormat('DRIVER=SQLite3 ODBC Driver;Database=%s;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;', $DB) |
362 | Return StringFormat('DRIVER=SQLite3 ODBC Driver;Database=%s;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;', $DB) |
| |
363 | EndIf |
| 328 | Return StringFormat('DRIVER=%s;Database=%s;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;', $DRIVER, $DB) |
364 | Return StringFormat('DRIVER=%s;Database=%s;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;', $DRIVER, $DB) |
| 329 | EndSwitch |
365 | EndSwitch |
| 330 | EndIf |
366 | EndIf |
| 331 | EndFunc ;==>__4ern_SQL_Connection |
367 | EndFunc ;==>__4ern_SQL_Connection |
| 332 | Func __4ern_SQL_Console($action = Default, $PTITEL = 'none', $PTXT = 'none') |
368 | Func __4ern_SQL_Console($action = Default, $PTITEL = 'none', $PTXT = 'none') |
| 333 |
|
369 | |
| 334 | Local Static $Output = Null |
370 | Local Static $Output = Null |
| 335 | |
371 | |
| 336 | ;----------------------------------------------------------------------------------------------/ |
372 | ;----------------------------------------------------------------------------------------------/ |
| 337 | ; Art der Ausgabe! |
373 | ; Art der Ausgabe! |
| 338 | ;-------------------------------------------------s---------------------------------------------/ |
374 | ;-------------------------------------------------s---------------------------------------------/ |
| 339 | Select |
375 | Select |
| 340 | ;----------------------------------------------------------------------------------------------/ |
376 | ;----------------------------------------------------------------------------------------------/ |
| 341 | ; Output to Console |
377 | ; Output to Console |
| 342 | ;----------------------------------------------------------------------------------------------/ |
378 | ;----------------------------------------------------------------------------------------------/ |
| 343 | Case $Output == 'Console' |
379 | Case $Output == 'Console' |
| 344 | Switch $action |
380 | Switch $action |
| 345 | Case 'error' |
381 | Case 'error' |
| 346 | $str = @CRLF & '*** FEHLER - ERROR **************************************************************************************' |
382 | $str = @CRLF & '*** FEHLER - ERROR **************************************************************************************' |
| 347 | $str &= @CRLF & '- Funktion:' & @TAB & @TAB & $PTITEL |
383 | $str &= @CRLF & '- Funktion:' & @TAB & @TAB & $PTITEL |
| 348 | $str &= @CRLF & '- TEXT:' & @TAB & @TAB & @TAB & $PTXT |
384 | $str &= @CRLF & '- TEXT:' & @TAB & @TAB & @TAB & $PTXT |
| 349 | $str &= @CRLF & '*********************************************************************************************************' |
385 | $str &= @CRLF & '*********************************************************************************************************' |
| 350 |
|
386 | |
| 351 | Case 'warning' |
387 | Case 'warning' |
| 352 | $str = @CRLF & '*** Warning *********************************************************************************************' |
388 | $str = @CRLF & '*** Warning *********************************************************************************************' |
| 353 | $str &= @CRLF & '- TEXT:' & @TAB & $PTITEL |
389 | $str &= @CRLF & '- TEXT:' & @TAB & $PTITEL |
| 354 | |
390 | |
| 355 | Case 'info' |
391 | Case 'info' |
| 356 | $str = @CRLF & '*** Information *****************************************************************************************' |
392 | $str = @CRLF & '*** Information *****************************************************************************************' |
| 357 | $str &= @CRLF & '- Title:' & @TAB & $PTITEL |
393 | $str &= @CRLF & '- Title:' & @TAB & $PTITEL |
| 358 | $str &= @CRLF & '- TEXT:' & @TAB & $PTXT |
394 | $str &= @CRLF & '- TEXT:' & @TAB & $PTXT |
| 359 | |
395 | |
| 360 | Case 'SQL' |
396 | Case 'SQL' |
| 361 | $str = @CRLF & '*** RAW SQL *********************************************************************************************' |
397 | $str = @CRLF & '*** RAW SQL *********************************************************************************************' |
| 362 | $str &= @CRLF & '>> ' & $PTITEL & ' <<' |
398 | $str &= @CRLF & '>> ' & $PTITEL & ' <<' |
| 363 | EndSwitch |
399 | EndSwitch |
| 364 | ConsoleWrite($str & @CRLF) |
400 | ConsoleWrite($str & @CRLF) |
| 365 | |
401 | |
| 366 | ;----------------------------------------------------------------------------------------------/ |
402 | ;----------------------------------------------------------------------------------------------/ |
| 367 | ; SET OUTPUT |
403 | ; SET OUTPUT |
| 368 | ;----------------------------------------------------------------------------------------------/ |
404 | ;----------------------------------------------------------------------------------------------/ |
| 369 | Case $action == 'set' |
405 | Case $action == 'set' |
| 370 | $Output = $PTITEL |
406 | $Output = $PTITEL |
| 371 | Return |
407 | Return |
| 372 | EndSelect |
408 | EndSelect |
| 373 | |
409 | |
| 374 | ;----------------------------------------------------------------------------------------------/ |
410 | ;----------------------------------------------------------------------------------------------/ |
| 375 | ; Return |
411 | ; Return |
| 376 | ;----------------------------------------------------------------------------------------------/ |
412 | ;----------------------------------------------------------------------------------------------/ |
| 377 | Return |
413 | Return |
| 378 | EndFunc ;==>__4ern_SQL_Console |
414 | EndFunc ;==>__4ern_SQL_Console |
| 379 | |
415 | |
| 380 | ; #FUNCTION# ==================================================================================================================== |
416 | ; #FUNCTION# ==================================================================================================================== |
| 381 | ; Author ........: 4ern.de |
417 | ; Author ........: 4ern.de |
| 382 | ; Description....: Console Dubugger |
418 | ; Description....: Console Dubugger |
| 383 | ; =============================================================================================================================== |
419 | ; =============================================================================================================================== |
| 384 | Func __4ern_SQL_Console_startUp($mode = 'Console') |
420 | Func __4ern_SQL_Console_startUp($mode = 'Console') |
| 385 | __4ern_SQL_Console('set', $mode) |
421 | __4ern_SQL_Console('set', $mode) |
| 386 | Return |
422 | Return |
| 387 | EndFunc ;==>__4ern_SQL_Console_startUp |
423 | EndFunc ;==>__4ern_SQL_Console_startUp |
| 388 | |
424 | |
| 389 | ; #FUNCTION# ==================================================================================================================== |
425 | ; #FUNCTION# ==================================================================================================================== |
| 390 | ; Author ........: 4ern.de |
426 | ; Author ........: 4ern.de |
| 391 | ; Description....: Return Type |
427 | ; Description....: Return Type |
| 392 | ; ...............: Default: Object Dictionary |
428 | ; ...............: Default: Object Dictionary |
| 393 | ; ...............: Array |
429 | ; ...............: Array |
| 394 | ; =============================================================================================================================== |
430 | ; =============================================================================================================================== |
| 395 | Func __4ern_SQL_defReturn($ptype = Default) |
431 | Func __4ern_SQL_defReturn($ptype = Default) |
| 396 | Local Static $rType = 'array' |
432 | Local Static $rType = 'array' |
| 397 | If __4ern_SQL__IsDefault($ptype, '-1,', ',') Then Return $rType |
433 | If __4ern_SQL__IsDefault($ptype, '-1,', ',') Then Return $rType |
| 398 | If $ptype = 'array' Then $rType = 'array' |
434 | If $ptype = 'array' Then $rType = 'array' |
| 399 | If $ptype = 'oDict' Then $rType = 'oDict' |
435 | If $ptype = 'oDict' Then $rType = 'oDict' |
| 400 | EndFunc ;==>__4ern_SQL_defReturn |
436 | EndFunc ;==>__4ern_SQL_defReturn |
| 401 | |
437 | |
| 402 | ;----------------------------------------------------------------------------------------------/ |
438 | ;----------------------------------------------------------------------------------------------/ |
| 403 | ; Beschreibung: = Object Error Info |
439 | ; Beschreibung: = Object Error Info |
| 404 | ; @return: = bool |
440 | ; @return: = bool |
| 405 | ; von = 4ern.de |
441 | ; von = 4ern.de |
| 406 | ;----------------------------------------------------------------------------------------------/ |
442 | ;----------------------------------------------------------------------------------------------/ |
| 407 | Func __4ern_SQL_errFunc() |
443 | Func __4ern_SQL_errFunc() |
| 408 | $str = StringFormat(StringReplace('! %sr\n\r\n||||||||', '|', '! %-25s%s\r\n'), _ |
444 | $str = "We intercepted a COM Error !" & @CRLF & @CRLF & _ |
| 409 | "We intercepted a COM Error !", _ |
445 | "err.description is: " & @TAB & $gO__4ern_SQLError.description & @CRLF & _ |
| 410 | "err.description is....:", $gO__4ern_SQLError.description, _ |
446 | "err.windescription:" & @TAB & $gO__4ern_SQLError.windescription & @CRLF & _ |
| 411 | "err.windescription....:", $gO__4ern_SQLError.windescription, _ |
447 | "err.number is: " & @TAB & Hex($gO__4ern_SQLError.number, 8) & @CRLF & _ |
| 412 | "err.number is.........:", Hex($gO__4ern_SQLError.number, 8), _ |
448 | "err.lastdllerror is: " & @TAB & $gO__4ern_SQLError.lastdllerror & @CRLF & _ |
| 413 | "err.lastdllerror is...:", $gO__4ern_SQLError.lastdllerror, _ |
449 | "err.scriptline is: " & @TAB & $gO__4ern_SQLError.scriptline & @CRLF & _ |
| 414 | "err.scriptline is.....:", $gO__4ern_SQLError.scriptline, _ |
450 | "err.source is: " & @TAB & $gO__4ern_SQLError.source & @CRLF & _ |
| 415 | "err.source is.........:", $gO__4ern_SQLError.source, _ |
451 | "err.helpfile is: " & @TAB & $gO__4ern_SQLError.helpfile & @CRLF & _ |
| 416 | "err.helpfile is.......:", $gO__4ern_SQLError.helpfile, _ |
452 | "err.helpcontext is: " & @TAB & $gO__4ern_SQLError.helpcontext |
| 417 | "err.helpcontext is....:", $gO__4ern_SQLError.helpcontext) |
453 |
|
| 418 |
|
| |
| 419 | __4ern_SQL_Console('error', 'SQL ERROR', $str) |
454 | __4ern_SQL_Console('error', 'SQL ERROR', $str) |
| 420 | Return 1 |
455 | Return 1 |
| 421 | EndFunc ;==>__4ern_SQL_errFunc |
456 | EndFunc ;==>__4ern_SQL_errFunc |
| 422 | |
457 | |
| 423 | ; #FUNCTION# ==================================================================================================================== |
458 | ; #FUNCTION# ==================================================================================================================== |
| 424 | ; Author ........: 4ern.de |
459 | ; Author ........: 4ern.de |
| 425 | ; =============================================================================================================================== |
460 | ; =============================================================================================================================== |
| 426 | Func __4ern_SQL_raw_getAll($oRecordSet, $oCon) |
461 | Func __4ern_SQL_raw_getAll($oRecordSet, $oCon) |
| 427 | |
462 | |
| 428 | ;----------------------------------------------------------------------------------------------/ |
463 | ;----------------------------------------------------------------------------------------------/ |
| 429 | ; Return Typ |
464 | ; Return Typ |
| 430 | ;----------------------------------------------------------------------------------------------/ |
465 | ;----------------------------------------------------------------------------------------------/ |
| 431 | Local Const $rType = __4ern_SQL_defReturn() |
466 | Local Const $rType = __4ern_SQL_defReturn() |
| 432 | |
467 | |
| 433 | ;----------------------------------------------------------------------------------------------/ |
468 | ;----------------------------------------------------------------------------------------------/ |
| 434 | ; Ermittle die Anzahl der Ergebniss |
469 | ; Ermittle die Anzahl der Ergebniss |
| 435 | ;----------------------------------------------------------------------------------------------/ |
470 | ;----------------------------------------------------------------------------------------------/ |
| 436 | |
471 | |
| 437 | If $oRecordSet.RecordCount = 1 Then |
472 | If $oRecordSet.RecordCount = 1 Then |
| 438 | Return __4ern_SQL_raw_getFirst($oRecordSet, $rType, $oCon) |
473 | Return __4ern_SQL_raw_getFirst($oRecordSet, $rType, $oCon) |
| 439 | EndIf |
474 | EndIf |
| 440 | |
475 | |
| 441 | ;----------------------------------------------------------------------------------------------/ |
476 | ;----------------------------------------------------------------------------------------------/ |
| 442 | ; Erstellung der Array mit Spaltnamen |
477 | ; Erstellung der Array mit Spaltnamen |
| 443 | ;----------------------------------------------------------------------------------------------/ |
478 | ;----------------------------------------------------------------------------------------------/ |
| 444 |
|
479 | |
| 445 | ;----------------------------------------------------------------------------------------------/ |
480 | ;----------------------------------------------------------------------------------------------/ |
| 446 | ; Return Typ |
481 | ; Return Typ |
| 447 | ;----------------------------------------------------------------------------------------------/ |
482 | ;----------------------------------------------------------------------------------------------/ |
| 448 | Switch $rType |
483 | Switch $rType |
| 449 | |
484 | |
| 450 | ;----------------------------------------------------------------------------------------------/ |
485 | ;----------------------------------------------------------------------------------------------/ |
| 451 | ; Return als Object Dictionary |
486 | ; Return als Object Dictionary |
| 452 | ;----------------------------------------------------------------------------------------------/ |
487 | ;----------------------------------------------------------------------------------------------/ |
| 453 | Case 'oDict' |
488 | Case 'oDict' |
| 454 | |
489 | |
| 455 | ;----------------------------------------------------------------------------------------------/ |
490 | ;----------------------------------------------------------------------------------------------/ |
| 456 | ; Haupt Dictionary |
491 | ; Haupt Dictionary |
| 457 | ;----------------------------------------------------------------------------------------------/ |
492 | ;----------------------------------------------------------------------------------------------/ |
| 458 | Local $oDict = ObjCreate('Scripting.Dictionary') |
493 | Local $oDict = ObjCreate('Scripting.Dictionary') |
| 459 | |
494 | |
| 460 | ;----------------------------------------------------------------------------------------------/ |
495 | ;----------------------------------------------------------------------------------------------/ |
| 461 | ; Ermittle Row Key |
496 | ; Ermittle Row Key |
| 462 | ;----------------------------------------------------------------------------------------------/ |
497 | ;----------------------------------------------------------------------------------------------/ |
| 463 | $oRecordSet = $oRecordSet.Clone |
498 | $oRecordSet = $oRecordSet.Clone |
| 464 | $rRowKey = __4ern_SQL__QueryBuilder__setTable(-1, -1, 'getTKey') |
499 | $rRowKey = __4ern_SQL__QueryBuilder__setTable(-1, -1, 'getTKey') |
| 465 | |
500 | |
| 466 | ;----------------------------------------------------------------------------------------------/ |
501 | ;----------------------------------------------------------------------------------------------/ |
| 467 | ; Anzahl der Spalte |
502 | ; Anzahl der Spalte |
| 468 | ;----------------------------------------------------------------------------------------------/ |
503 | ;----------------------------------------------------------------------------------------------/ |
| 469 | $i_Colum = $oRecordSet.Fields.Count |
504 | $i_Colum = $oRecordSet.Fields.Count |
| 470 | |
505 | |
| 471 | ;----------------------------------------------------------------------------------------------/ |
506 | ;----------------------------------------------------------------------------------------------/ |
| 472 | ; Prüfe ob RowKey Colm vorhanden ist. |
507 | ; Prüfe ob RowKey Colm vorhanden ist. |
| 473 | ; --> Wenn nicht vorhanden, werden Zeilennummern als RowKey genutzt |
508 | ; --> Wenn nicht vorhanden, werden Zeilennummern als RowKey genutzt |
| 474 | ;----------------------------------------------------------------------------------------------/ |
509 | ;----------------------------------------------------------------------------------------------/ |
| 475 | $bColm = False |
510 | $bColm = False |
| 476 | For $i = 0 To $i_Colum - 1 |
511 | For $i = 0 To $i_Colum - 1 |
| 477 | If $oRecordSet.Fields($i).Name == $rRowKey Then |
512 | If $oRecordSet.Fields($i).Name == $rRowKey Then |
| 478 | $bColm = True |
513 | $bColm = True |
| 479 | ExitLoop |
514 | ExitLoop |
| 480 | EndIf |
515 | EndIf |
| 481 | Next |
516 | Next |
| 482 | |
517 | |
| 483 | ;----------------------------------------------------------------------------------------------/ |
518 | ;----------------------------------------------------------------------------------------------/ |
| 484 | ; Erstelle die Spalten |
519 | ; Erstelle die Spalten |
| 485 | ;----------------------------------------------------------------------------------------------/ |
520 | ;----------------------------------------------------------------------------------------------/ |
| 486 | For $element In $oRecordSet.Fields |
521 | For $element In $oRecordSet.Fields |
| 487 | $oDict.add($element.Name, ObjCreate('Scripting.Dictionary')) |
522 | $oDict.add($element.Name, ObjCreate('Scripting.Dictionary')) |
| 488 | Next |
523 | Next |
| 489 | |
524 | |
| 490 | ;----------------------------------------------------------------------------------------------/ |
525 | ;----------------------------------------------------------------------------------------------/ |
| 491 | ; Erstelle ein Dictionary Object |
526 | ; Erstelle ein Dictionary Object |
| 492 | ;----------------------------------------------------------------------------------------------/ |
527 | ;----------------------------------------------------------------------------------------------/ |
| 493 | While Not $oRecordSet.eof |
528 | While Not $oRecordSet.eof |
| 494 | $rowKey = ($bColm = True) ? $oRecordSet.Fields($rRowKey).Value : $oRecordSet.AbsolutePosition |
529 | $rowKey = ($bColm = True) ? $oRecordSet.Fields($rRowKey).Value : $oRecordSet.AbsolutePosition |
| 495 | For $element In $oRecordSet.Fields |
530 | For $element In $oRecordSet.Fields |
| 496 | $oDict($element.Name).add($rowKey, $element.Value) |
531 | $oDict($element.Name).add($rowKey, $element.Value) |
| 497 | Next |
532 | Next |
| 498 | $oRecordSet.MoveNext |
533 | $oRecordSet.MoveNext |
| 499 | WEnd |
534 | WEnd |
| 500 | $oCon.close |
535 | $oCon.close |
| 501 | Return $oDict |
536 | Return $oDict |
| 502 | |
537 | |
| 503 | ;----------------------------------------------------------------------------------------------/ |
538 | ;----------------------------------------------------------------------------------------------/ |
| 504 | ; Return als Array |
539 | ; Return als Array |
| 505 | ;----------------------------------------------------------------------------------------------/ |
540 | ;----------------------------------------------------------------------------------------------/ |
| 506 | Case 'array' |
541 | Case 'array' |
| 507 | With $oRecordSet |
542 | With $oRecordSet |
| 508 | Local $iFields = .Fields.Count |
543 | Local $iFields = .Fields.Count |
| 509 | Local $sFields[1][$iFields] |
544 | Local $sFields[1][$iFields] |
| 510 | For $i = 0 To $iFields - 1 |
545 | For $i = 0 To $iFields - 1 |
| 511 | $sFields[0][$i] = .Fields($i).Name |
546 | $sFields[0][$i] = .Fields($i).Name |
| 512 | Next |
547 | Next |
| 513 | $aValue = .GetRows() |
548 | $aValue = .GetRows() |
| 514 | EndWith |
549 | EndWith |
| 515 | _ArrayConcatenate($sFields, $aValue) |
550 | _ArrayConcatenate($sFields, $aValue) |
| 516 | EndSwitch |
551 | EndSwitch |
| 517 | |
552 | |
| 518 | ;----------------------------------------------------------------------------------------------/ |
553 | ;----------------------------------------------------------------------------------------------/ |
| 519 | ; Retrun Array |
554 | ; Retrun Array |
| 520 | ;----------------------------------------------------------------------------------------------/ |
555 | ;----------------------------------------------------------------------------------------------/ |
| 521 | $oCon.close |
556 | $oCon.close |
| 522 | Return $sFields |
557 | Return $sFields |
| 523 | EndFunc ;==>__4ern_SQL_raw_getAll |
558 | EndFunc ;==>__4ern_SQL_raw_getAll |
| 524 | |
559 | |
| 525 | ; #FUNCTION# ==================================================================================================================== |
560 | ; #FUNCTION# ==================================================================================================================== |
| 526 | ; Author ........: 4ern.de |
561 | ; Author ........: 4ern.de |
| 527 | ; =============================================================================================================================== |
562 | ; =============================================================================================================================== |
| 528 | Func __4ern_SQL_raw_getFirst($oRecordSet, $rType, $oCon) |
563 | Func __4ern_SQL_raw_getFirst($oRecordSet, $rType, $oCon) |
| 529 |
|
564 | |
| 530 | ;----------------------------------------------------------------------------------------------/ |
565 | ;----------------------------------------------------------------------------------------------/ |
| 531 | ; Return Typ |
566 | ; Return Typ |
| 532 | ;----------------------------------------------------------------------------------------------/ |
567 | ;----------------------------------------------------------------------------------------------/ |
| 533 | Switch $rType |
568 | Switch $rType |
| 534 | |
569 | |
| 535 | ;----------------------------------------------------------------------------------------------/ |
570 | ;----------------------------------------------------------------------------------------------/ |
| 536 | ; Return als Object Dictionary |
571 | ; Return als Object Dictionary |
| 537 | ;----------------------------------------------------------------------------------------------/ |
572 | ;----------------------------------------------------------------------------------------------/ |
| 538 | Case 'oDict' |
573 | Case 'oDict' |
| 539 | Local $oDict = ObjCreate('Scripting.Dictionary') |
574 | Local $oDict = ObjCreate('Scripting.Dictionary') |
| 540 | For $elemet In $oRecordSet.Fields |
575 | For $elemet In $oRecordSet.Fields |
| 541 | $oDict.Add($elemet.Name, $elemet.Value) |
576 | $oDict.Add($elemet.Name, $elemet.Value) |
| 542 | Next |
577 | Next |
| 543 | $oCon.close |
578 | $oCon.close |
| 544 | Return $oDict |
579 | Return $oDict |
| 545 | |
580 | |
| 546 | ;----------------------------------------------------------------------------------------------/ |
581 | ;----------------------------------------------------------------------------------------------/ |
| 547 | ; Return als Array |
582 | ; Return als Array |
| 548 | ;----------------------------------------------------------------------------------------------/ |
583 | ;----------------------------------------------------------------------------------------------/ |
| 549 | Case 'array' |
584 | Case 'array' |
| 550 | Local $array[$oRecordSet.Fields.Count] |
585 | Local $array[$oRecordSet.Fields.Count] |
| 551 | Local $i = 0 |
586 | Local $i = 0 |
| 552 | For $row In $oRecordSet.Fields |
587 | For $row In $oRecordSet.Fields |
| 553 | $array[$i] = $row.Value |
588 | $array[$i] = $row.Value |
| 554 | $i += 1 |
589 | $i += 1 |
| 555 | Next |
590 | Next |
| 556 | $oCon.close |
591 | $oCon.close |
| 557 | Return $array |
592 | Return $array |
| 558 | |
593 | |
| 559 | EndSwitch |
594 | EndSwitch |
| 560 | EndFunc ;==>__4ern_SQL_raw_getFirst |
595 | EndFunc ;==>__4ern_SQL_raw_getFirst |
| 561 | |
596 | |
| 562 | ; #FUNCTION# ==================================================================================================================== |
597 | ; #FUNCTION# ==================================================================================================================== |
| 563 | ; Author ........: 4ern.de |
598 | ; Author ........: 4ern.de |
| 564 | ; Description....: ADO SQL Execute |
599 | ; Description....: ADO SQL Execute |
| 565 | ; =============================================================================================================================== |
600 | ; =============================================================================================================================== |
| 566 | Func __4ern_SQL_rawQuery($pQuery = Default, $action = Default) |
601 | Func __4ern_SQL_rawQuery($pQuery = Default, $action = Default) |
| 567 | |
602 | |
| 568 | ;----------------------------------------------------------------------------------------------/ |
603 | ;----------------------------------------------------------------------------------------------/ |
| 569 | ; Local Statics |
604 | ; Local Statics |
| 570 | ;----------------------------------------------------------------------------------------------/ |
605 | ;----------------------------------------------------------------------------------------------/ |
| 571 | Local $oRecordSet, $error |
606 | Local $oRecordSet, $error |
| 572 | |
607 | |
| 573 | ;----------------------------------------------------------------------------------------------/ |
608 | ;----------------------------------------------------------------------------------------------/ |
| 574 | ; DEFAULT |
609 | ; DEFAULT |
| 575 | ;----------------------------------------------------------------------------------------------/ |
610 | ;----------------------------------------------------------------------------------------------/ |
| 576 | If ($action = Default) Or ($action = -1) Or ($action = '') Then $action = 'get()' |
611 | If ($action = Default) Or ($action = -1) Or ($action = '') Then $action = 'get()' |
| 577 | |
612 | |
| 578 | ;----------------------------------------------------------------------------------------------/ |
613 | ;----------------------------------------------------------------------------------------------/ |
| 579 | ; Erstelle eine Verbindung zur DB |
614 | ; Erstelle eine Verbindung zur DB |
| 580 | ;----------------------------------------------------------------------------------------------/ |
615 | ;----------------------------------------------------------------------------------------------/ |
| 581 | If $action == 'get()' Then |
616 | If $action == 'get()' Then |
| 582 | $oCon = __4ern_SQL_Connect() |
617 | $oCon = __4ern_SQL_Connect() |
| 583 | Else |
618 | Else |
| 584 | $oCon = __4ern_SQL_Connect(Default, Default, Default, Default, Default, 'write()') |
619 | $oCon = __4ern_SQL_Connect(Default, Default, Default, Default, Default, 'write()') |
| 585 | EndIf |
620 | EndIf |
| 586 |
|
621 | |
| 587 | If @error Or IsObj($oCon) = 0 Then Return SetError(@error, '', $oCon) |
622 | If @error Or IsObj($oCon) = 0 Then Return SetError(@error, '', $oCon) |
| 588 | |
623 | |
| 589 | ;----------------------------------------------------------------------------------------------/ |
624 | ;----------------------------------------------------------------------------------------------/ |
| 590 | ; FastEscape |
625 | ; FastEscape |
| 591 | ;----------------------------------------------------------------------------------------------/ |
626 | ;----------------------------------------------------------------------------------------------/ |
| 592 | $pQuery = StringReplace($pQuery, '"', "'") |
627 | $pQuery = StringReplace($pQuery, '"', "'") |
| 593 | $pQuery = StringReplace($pQuery, '`', '"') |
628 | $pQuery = StringReplace($pQuery, '`', '"') |
| 594 | __4ern_SQL_Console('SQL', $pQuery) |
629 | __4ern_SQL_Console('SQL', $pQuery) |
| 595 | |
630 | |
| 596 | ;----------------------------------------------------------------------------------------------/ |
631 | ;----------------------------------------------------------------------------------------------/ |
| 597 | ; Führe Query aus |
632 | ; Führe Query aus |
| 598 | ;----------------------------------------------------------------------------------------------/ |
633 | ;----------------------------------------------------------------------------------------------/ |
| 599 | $oRecordSet = $oCon.Execute($pQuery) |
634 | $oRecordSet = $oCon.Execute($pQuery) |
| 600 | If @error Then |
635 | If @error Then |
| 601 | $error = '4ern SQL Error -- Query konnte nicht ausgefuehrt werden.' |
636 | $error = '4ern SQL Error -- Query konnte nicht ausgefuehrt werden.' |
| 602 | __4ern_SQL_Console('error', '$oCon.Execute($pQuery)', 'Query konnte nicht ausgefuehrt werden.') |
637 | __4ern_SQL_Console('error', '$oCon.Execute($pQuery)', 'Query konnte nicht ausgefuehrt werden.') |
| 603 | $oCon.close |
638 | $oCon.close |
| 604 | Return SetError(@error, '', $oRecordSet) |
639 | Return SetError(@error, '', $oRecordSet) |
| 605 | EndIf |
640 | EndIf |
| 606 | |
641 | |
| 607 | ;----------------------------------------------------------------------------------------------/ |
642 | ;----------------------------------------------------------------------------------------------/ |
| 608 | ; Prüfe ob Query Daten enthält |
643 | ; Prüfe ob Query Daten enthält |
| 609 | ;----------------------------------------------------------------------------------------------/ |
644 | ;----------------------------------------------------------------------------------------------/ |
| 610 | If $action == 'get()' Then |
645 | If $action == 'get()' Then |
| 611 | If $oRecordSet.eof Then |
646 | If $oRecordSet.eof Then |
| 612 | __4ern_SQL_Console('warning', '$oRecordSet.eof Query enthält keine Daten') |
647 | __4ern_SQL_Console('warning', '$oRecordSet.eof Query enthält keine Daten') |
| 613 | $oCon.close |
648 | $oCon.close |
| 614 | Return SetError(1, '', 0) |
649 | Return SetError(1, '', 0) |
| 615 | EndIf |
650 | EndIf |
| 616 | EndIf |
651 | EndIf |
| 617 | |
652 | |
| 618 | ;----------------------------------------------------------------------------------------------/ |
653 | ;----------------------------------------------------------------------------------------------/ |
| 619 | ; Return Switch |
654 | ; Return Switch |
| 620 | ;----------------------------------------------------------------------------------------------/ |
655 | ;----------------------------------------------------------------------------------------------/ |
| 621 | Switch $action |
656 | Switch $action |
| 622 | |
657 | |
| 623 | ;----------------------------------------------------------------------------------------------/ |
658 | ;----------------------------------------------------------------------------------------------/ |
| 624 | ; Übergibt alle Werte |
659 | ; Übergibt alle Werte |
| 625 | ;----------------------------------------------------------------------------------------------/ |
660 | ;----------------------------------------------------------------------------------------------/ |
| 626 | Case StringInStr($action, 'get()') <> 0 |
661 | Case StringInStr($action, 'get()') <> 0 |
| 627 | Return __4ern_SQL_raw_getAll($oRecordSet, $oCon) |
662 | Return __4ern_SQL_raw_getAll($oRecordSet, $oCon) |
| 628 | |
663 | |
| 629 | Case StringInStr($action, 'update()') <> 0 |
664 | Case StringInStr($action, 'update()') <> 0 |
| 630 | Return 1 |
665 | Return 1 |
| 631 | EndSwitch |
666 | EndSwitch |
| 632 | EndFunc ;==>__4ern_SQL_rawQuery |
667 | EndFunc ;==>__4ern_SQL_rawQuery |
| 633 | |
668 | |