========================================================================================================
===  Tidy report for :F:\_Archive\_Programmieren\AutoIt3\User\4ern\romaSql-1.0.2\queryBuilder.au3
========================================================================================================

00001    #include-once
00002    ; #FUNCTION# ====================================================================================================================
00003    ; Author ........: 4ern.de
00004    ; Description....: AU3 Check Syntax
00005    ; Source.........: romaSql.au3
00006    ; ===============================================================================================================================
00007    #ignorefunc __4ern_SQL_Connection 
00008    #ignorefunc __4ern_SQL_rawQuery 
00009    #ignorefunc __4ern_SQL_Console 
00010    #ignorefunc __4ern_SQL__IsDefault
00011    
00012    ; #FUNCTION# ====================================================================================================================
00013    ; Author ........: 4ern.de
00014    ; Building ......:
00015    ;				   - SELECT oder DISTINCT
00016    ;				   - Take (only sqlServer)
00017    ;				   - From Table
00018    ;				   - LIMIT
00019    ;				   - Joins - (in Plannung)
00020    ;				   - WHERE
00021    ;				   - Groupby
00022    ;				   - Having
00023    ;				   - Order BY
00024    ; ===============================================================================================================================
00025  +-func __4ern_SQL_QueryBuilder_get()
00026  |    
00027  |    	Local $SQL = Null
00028  |    	
00029  |    	;----------------------------------------------------------------------------------------------/
00030  |    	; Stelle SQL String zusammen.
00031  |    	;----------------------------------------------------------------------------------------------/
00032  |    		$select  = __4ern_SQL__QueryBuilder__select('get')
00033  |    		$from    = __4ern_SQL__QueryBuilder__table('get')
00034  |    		if @error then return SetError(@error, 0, $from)
00035  |    
00036  |    		;----------------------------------------------------------------------------------------------/
00037  |    		; Bei SQL-Server nehmen Take anstatt von LIMIT
00038  |    		;----------------------------------------------------------------------------------------------/
00039  |    		$limit   = (__4ern_SQL_Connection() <> 'sqlServer') ? __4ern_SQL__QueryBuilder__limit(-1,'get') : ''
00040  |    		$where   = __4ern_SQL__QueryBuilder__where('getWhere')
00041  |    		$groupBy = __4ern_SQL__QueryBuilder__groupBy('get')
00042  |    		$having  = __4ern_SQL__QueryBuilder__where('getHaving')
00043  |    		$orderBy = __4ern_SQL__QueryBuilder__orderBy('get')
00044  |    
00045  |    	;----------------------------------------------------------------------------------------------/
00046  |    	; Erstelle SQL String
00047  |    	;----------------------------------------------------------------------------------------------/
00048  |    		$SQL = StringStripWS($select & $from & $where & $groupBy & $having & $orderBy & $limit, 4)
00049  |    
00050  |    	;----------------------------------------------------------------------------------------------/
00051  |    	; Feuere Abfrage ab.
00052  |    	;----------------------------------------------------------------------------------------------/
00053  |    	$ret = __4ern_SQL_rawQuery($SQL,'get()')
00054  |    	return SetError(@error, 0, $ret)
00055  +-endfunc
00056    
00057    ; #FUNCTION# ====================================================================================================================
00058    ; Author ........: 4ern.de
00059    ; Description....: UPDATE Statement
00060    ; Source.........: https://www.w3schools.com/sql/sql_update.asp
00061    ; ===============================================================================================================================	
00062  +-func __4ern_SQL_QueryBuilder_Update(ByRef $COLM, $VAL = DEFAULT)
00063  |    
00064  |    	Local $SQL    = NULL
00065  |    	Local $String = ''
00066  |    
00067  |    	;----------------------------------------------------------------------------------------------/
00068  |    	; Erstelle Update String
00069  |    	;----------------------------------------------------------------------------------------------/
00070  |  +-		if IsArray($COLM) then 
00071  |  |    			$iColm = UBound($COLM, 2)
00072  |  |  +-			Select
00073  |  |  |    
00074  |  |  |    				;----------------------------------------------------------------------------------------------/
00075  |  |  |    				; 1D Array
00076  |  |  |    				;----------------------------------------------------------------------------------------------/
00077  |  |  |  +-				Case $iColm = 0
00078  |  |  |  |    					__4ern_SQL_Console('error', 'UPDATE -- QUERY BUILDER', '2D Array erforderlich')
00079  |  |  |  |    					return SetError(1, 0, 0)
00080  |  |  |  |    
00081  |  |  |  +-				Case $iColm > 2
00082  |  |  |  |    					__4ern_SQL_Console('error', 'UPDATE -- QUERY BUILDER', '2D Array erforderlich')
00083  |  |  |  |    					return SetError(1, 0, 0)
00084  |  |  |  |    
00085  |  |  |  |    				;----------------------------------------------------------------------------------------------/
00086  |  |  |  |    				; 2D Array with 2 Colms
00087  |  |  |  |    				; Without Operators
00088  |  |  |  |    				;----------------------------------------------------------------------------------------------/
00089  |  |  |  +-				Case $iColm = 2
00090  |  |  |  |  +-					for $i = 0 to $iColm -1
00091  |  |  |  |  |  +-						if (IsString($COLM[$i][1]) = 1) and (StringRegExp($COLM[$i][1], '\w*\(\)|NULL') = 0) then
00092  |  |  |  |  |  |    							$String &= StringFormat('%s="%s", ',$COLM[$i][0],$COLM[$i][1])
00093  |  |  |  |  |  +-						else
00094  |  |  |  |  |  |    							$String &= StringFormat('%s=%s, ',$COLM[$i][0],$COLM[$i][1])
00095  |  |  |  |  |  +-						endif
00096  |  |  |  |  +-					next
00097  |  |  |  |    					$String = StringReplace($String, ', ', '', -1)
00098  |  |  +-			endselect
00099  |  +-		else 
00100  |  |  +-			if $VAL = DEFAULT then 
00101  |  |  |    				__4ern_SQL_Console('error', 'UPDATE -- QUERY BUILDER', 'Es wurde kein Update Wert eingegeben')
00102  |  |  |    				return SetError(1, 0, 0)
00103  |  |  +-			endif
00104  |  |  +-			if (IsString($VAL) = 1) and (StringRegExp($VAL, '\w*\(\)|NULL') = 0) then
00105  |  |  |    				$String &= StringFormat('%s="%s" ',$COLM,$VAL)
00106  |  |  +-			else
00107  |  |  |    				$String &= StringFormat('%s=%s ',$COLM,$VAL)
00108  |  |  +-			endif
00109  |  +-		endif
00110  |    
00111  |    	;----------------------------------------------------------------------------------------------/
00112  |    	; Stelle SQL String zusammen.
00113  |    	;----------------------------------------------------------------------------------------------/get')
00114  |    
00115  |    		$table = __4ern_SQL__QueryBuilder__table('get')
00116  |    		if @error then return SetError(@error, 0, $table)
00117  |    		$table = StringReplace($table, 'FROM', 'UPDATE')
00118  |    		$table = (StringSplit($table, ',', 2))[0] & ' SET '
00119  |    		$where = __4ern_SQL__QueryBuilder__where('getWhere')
00120  |    
00121  |    	;----------------------------------------------------------------------------------------------/
00122  |    	; Erstelle SQL String
00123  |    	;----------------------------------------------------------------------------------------------/
00124  |    	$SQL = StringStripWS($table & $String &' '& $where, 4)
00125  |    
00126  |    	;----------------------------------------------------------------------------------------------/
00127  |    	; Feuere Abfrage ab.
00128  |    	;----------------------------------------------------------------------------------------------/
00129  |    	return __4ern_SQL_rawQuery($SQL,'update()')
00130  +-endfunc
00131    
00132    ; #FUNCTION# ====================================================================================================================
00133    ; Author ........: 4ern.de
00134    ; Description....: DELTE Statement
00135    ; Source.........: https://www.w3schools.com/sql/sql_delete.asp
00136    ; ===============================================================================================================================
00137  +-func __4ern_SQL_QueryBuilder_Delete()
00138  |    
00139  |    	Local $SQL    = NULL
00140  |    	Local $String = ''
00141  |    	;----------------------------------------------------------------------------------------------/
00142  |    	; Stelle SQL String zusammen.
00143  |    	;----------------------------------------------------------------------------------------------/get')
00144  |    
00145  |    		$table = __4ern_SQL__QueryBuilder__table('get')
00146  |    		if @error then return SetError(@error, 0, $table)
00147  |    		$where   = __4ern_SQL__QueryBuilder__where('getWhere')
00148  |    
00149  |    	;----------------------------------------------------------------------------------------------/
00150  |    	; Erstelle SQL String
00151  |    	;----------------------------------------------------------------------------------------------/
00152  |    	$SQL = StringStripWS('DELETE ' & $table & $String & $where, 4)
00153  |    
00154  |    	;----------------------------------------------------------------------------------------------/
00155  |    	; Feuere Abfrage ab.
00156  |    	;----------------------------------------------------------------------------------------------/
00157  |    	return __4ern_SQL_rawQuery($SQL,'update()')
00158  +-endfunc
00159    
00160    ; #FUNCTION# ====================================================================================================================
00161    ; Author ........: 4ern.de
00162    ; Description....: INSERT INTO Statement
00163    ; Source.........: http://www.w3schools.com/sql/sql_insert.asp
00164    ; ===============================================================================================================================
00165  +-func __4ern_SQL_Query_insert($COLM , $V1 = DEFAULT)
00166  |    
00167  |    	local Static $table = __4ern_SQL__QueryBuilder__table('get')
00168  |    		if @error then return SetError(@error, 0, $table)
00169  |    	$table = StringReplace($table, 'FROM', 'INSERT INTO ')
00170  |    
00171  |    	;----------------------------------------------------------------------------------------------/
00172  |    	; Prüfen ob $COLM ein 2D Array ist..
00173  |    	;----------------------------------------------------------------------------------------------/
00174  |  +-	if IsArray($COLM) then
00175  |  |    
00176  |  |    		;----------------------------------------------------------------------------------------------/
00177  |  |    		; Check Array
00178  |  |    		;----------------------------------------------------------------------------------------------/
00179  |  |  +-		if UBound($COLM, 2) <> 2 then
00180  |  |  |    			__4ern_SQL_Console('error', 'Insert Into -- QUERY BUILDER', 'Es muss ein 2D Array mit exakt 2 Spalten sein')
00181  |  |  |    			return SetError(1, 0, 0)
00182  |  |  +-		endif
00183  |  |    
00184  |  |    		$string = ' ('
00185  |  |  +-		for $i = 0 to Ubound($COLM) -1
00186  |  |  |    			$string &= stringformat('%s,' ,$COLM[$i][0])
00187  |  |  +-		next
00188  |  |    		$string = StringReplace($string, ',', '', -1)
00189  |  |    		
00190  |  |    		$string &= ') VALUES('
00191  |  |  +-		for $i = 0 to Ubound($COLM) -1
00192  |  |  |  +-			if (IsString($COLM[$i][1]) = 1) and (StringRegExp($COLM[$i][1], '\w*\(\)|NULL') = 0) then 
00193  |  |  |  |    				$COLM[$i][1] = StringReplace($COLM[$i][1], '"', '`')
00194  |  |  |  |    				$COLM[$i][1] = StringReplace($COLM[$i][1], "'", '`')
00195  |  |  |  |    				$string &= StringFormat('"%s",', $COLM[$i][1])
00196  |  |  |  +-			else
00197  |  |  |  |    				$string &= StringFormat('%s,', $COLM[$i][1])
00198  |  |  |  +-			endif
00199  |  |  +-		next
00200  |  |    		$string = StringReplace($string, ',', '', -1)
00201  |  |    		$string &= ');'
00202  |  |    		
00203  |  |    		;----------------------------------------------------------------------------------------------/
00204  |  |    		; Erstelle SQL String
00205  |  |    		;----------------------------------------------------------------------------------------------/
00206  |  |    		$SQL = StringStripWS($table & $string,4)
00207  |  |    		;----------------------------------------------------------------------------------------------/
00208  |  |    		; Feuere Abfrage ab.
00209  |  |    		;----------------------------------------------------------------------------------------------/
00210  |  |    
00211  |  |    		return __4ern_SQL_rawQuery($SQL,'update()')
00212  |  +-	endif
00213  |    
00214  |    	;----------------------------------------------------------------------------------------------/
00215  |    	; Insert über Parameter
00216  |    	;----------------------------------------------------------------------------------------------/
00217  |    	$V1 = StringReplace($V1, '"', '`')
00218  |    	$V1 = StringReplace($V1, "'", '`')
00219  |    
00220  |  +-	if (IsString($V1) = 1) and (StringRegExp($V1, '\w*\(\)|NULL') = 0) then
00221  |  |    		$string = StringFormat('(%s) VALUES ("%s")', $COLM, $V1)
00222  |  +-	else
00223  |  |    		$string = StringFormat('(%s) VALUES (%s)', $COLM, $V1)
00224  |  +-	endif
00225  |    
00226  |    	$SQL = StringStripWS($table & $string,4)
00227  |    	return __4ern_SQL_rawQuery($SQL,'update()')
00228  +-endfunc
00229    
00230    ; #FUNCTION# ====================================================================================================================
00231    ; Author ........: 4ern.de
00232    ; Description....: Set table command
00233    ; ===============================================================================================================================
00234  +-func __4ern_SQL__QueryBuilder__table($ACTION = DEFAULT, $COLM = DEFAULT)
00235  |    	;----------------------------------------------------------------------------------------------/
00236  |    	; Eigenschaften
00237  |    	;----------------------------------------------------------------------------------------------/
00238  |    	Local Static $QUEUE = ObjCreate("System.Collections.Queue")
00239  |    	if IsObj($QUEUE) = 0 then $QUEUE = ObjCreate("System.Collections.Queue")
00240  |    	if __4ern_SQL__IsDefault($ACTION, '-1,', ',') Then $ACTION = 'store'
00241  |    
00242  |    	;----------------------------------------------------------------------------------------------/
00243  |    	; AKTION
00244  |    	;----------------------------------------------------------------------------------------------/
00245  |  +-	Switch $ACTION
00246  |  |    		;----------------------------------------------------------------------------------------------/
00247  |  |    		; Speichere die Select spalten in eine Queue
00248  |  |    		;----------------------------------------------------------------------------------------------/
00249  |  |  +-		Case 'store'
00250  |  |  |    			;----------------------------------------------------------------------------------------------/
00251  |  |  |    			; Array Verarbeitung
00252  |  |  |    			; 	-> Ansonsten String
00253  |  |  |    			;----------------------------------------------------------------------------------------------/
00254  |  |  |  +-			IF IsArray($COLM) then 
00255  |  |  |  |  +-				for $element in $COLM 
00256  |  |  |  |  |    					if isstring($element) then $QUEUE.Enqueue($element)
00257  |  |  |  |  +-				next
00258  |  |  |  +-			ELSE
00259  |  |  |  |    				if IsString($COLM) then $QUEUE.Enqueue($COLM)
00260  |  |  |  +-			endif
00261  |  |  |    
00262  |  |  |    		;----------------------------------------------------------------------------------------------/
00263  |  |  |    		; Ermittle alle Elemete aus der Queue, und erstelle an Select String
00264  |  |  |    		;----------------------------------------------------------------------------------------------/
00265  |  |  +-		Case 'get'
00266  |  |  |    
00267  |  |  |    			$String = 'FROM '
00268  |  |  |    			;----------------------------------------------------------------------------------------------/
00269  |  |  |    			; Wenn keine Einträge vorhanden, dann * 
00270  |  |  |    			;----------------------------------------------------------------------------------------------/
00271  |  |  |  +-			If $QUEUE.Count = 0 then 
00272  |  |  |  |    				$ret =  __4ern_SQL__QueryBuilder__setTable(-1,-1,'getTable')
00273  |  |  |  |    				if @error then return SetError(@error, 0, $ret)
00274  |  |  |  |    				return $String & $ret & ' '
00275  |  |  |  +-			endif
00276  |  |  |    			;----------------------------------------------------------------------------------------------/
00277  |  |  |    			; Erstelle String
00278  |  |  |    			;----------------------------------------------------------------------------------------------/
00279  |  |  |  +-			for $elemet in $QUEUE
00280  |  |  |  |    				$String &= $elemet & ', '
00281  |  |  |  +-			next
00282  |  |  |    			;----------------------------------------------------------------------------------------------/
00283  |  |  |    			; Lösche alle Einträge aus der Queue
00284  |  |  |    			;----------------------------------------------------------------------------------------------/
00285  |  |  |    			$QUEUE.clear
00286  |  |  |    
00287  |  |  |    			;----------------------------------------------------------------------------------------------/
00288  |  |  |    			; Return 
00289  |  |  |    			;----------------------------------------------------------------------------------------------/				
00290  |  |  |    			return StringReplace($String, ',', '', -1)
00291  |  |  |    	
00292  |  +-	EndSwitch
00293  +-endfunc
00294  +-func __4ern_SQL_Query_table($COLM = DEFAULT,$C1=DEFAULT,$C2=DEFAULT,$C3=DEFAULT,$C4=DEFAULT,$C5=DEFAULT,$C6=DEFAULT,$C7=DEFAULT,$C8=DEFAULT,$C9=DEFAULT)
00295  |    	
00296  |    	;----------------------------------------------------------------------------------------------/
00297  |    	; Prüfen ob $COLM ein 2D Array ist..
00298  |    	;----------------------------------------------------------------------------------------------/
00299  |  +-	if IsArray($COLM) then
00300  |  |  +-		if UBound($COLM, 2) <> 0 then
00301  |  |  |    			__4ern_SQL_Console('error', 'TABLE -- QUERY BUILDER', 'Es sind nur 1D Arrays erlaubt')
00302  |  |  |    			return SetError(1, 0, 0)
00303  |  |  +-		endif
00304  |  +-	endif
00305  |    
00306  |    	;----------------------------------------------------------------------------------------------/
00307  |    	; Übergabe der Parameter an QueryBuilder
00308  |    	;----------------------------------------------------------------------------------------------/
00309  |    	__4ern_SQL__QueryBuilder__table(-1,$COLM)
00310  |    	IF $C1 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C1)
00311  |    	IF $C2 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C2)
00312  |    	IF $C3 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C3)
00313  |    	IF $C4 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C4)
00314  |    	IF $C5 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C5)
00315  |    	IF $C6 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C6)
00316  |    	IF $C7 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C7)
00317  |    	IF $C8 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C8)
00318  |    	IF $C9 <> DEFAULT then __4ern_SQL__QueryBuilder__table(-1,$C9)
00319  |    
00320  |    	return 1
00321  +-endfunc
00322    
00323    ; #FUNCTION# ====================================================================================================================
00324    ; Author ........: 4ern.de
00325    ; Description....: To limit the number of results returned from the query
00326    ; ===============================================================================================================================
00327  +-func __4ern_SQL__QueryBuilder__limit($pLIMIT = DEFAULT, $ACTION = 'set')
00328  |    	
00329  |    	Local Static $LIMIT = NULL
00330  |    
00331  |  +-	Switch $ACTION
00332  |  |  +-		Case 'set'
00333  |  |  |  +-			If IsNumber($pLIMIT) then 
00334  |  |  |  |    				$LIMIT = $pLIMIT
00335  |  |  |  |    				return
00336  |  |  |  +-			endif
00337  |  |  |    			__4ern_SQL_Console('error', 'TAKE/LIMIT -- QUERY BUILDER', 'Keine gueltige Nummer')
00338  |  |  |    
00339  |  |  +-		Case 'get'
00340  |  |  |    			if $LIMIT = NULL Then return ''
00341  |  |  |    
00342  |  |  |    			Local $defDatabase = __4ern_SQL_Connection()
00343  |  |  |    			;----------------------------------------------------------------------------------------------/
00344  |  |  |    			; Return TOP für SQL Server Syntax
00345  |  |  |    			;----------------------------------------------------------------------------------------------/
00346  |  |  |    			if ($defDatabase = 'sqlserver') then return StringFormat(' TOP %s ', $LIMIT)
00347  |  |  |    
00348  |  |  |    			;----------------------------------------------------------------------------------------------/
00349  |  |  |    			; Setze eine Where Abfrage für Oracle Syntax
00350  |  |  |    			;----------------------------------------------------------------------------------------------/
00351  |  |  |  +-			if ($defDatabase = 'oracle') then
00352  |  |  |  |    				__4ern_SQL_Query_where('ROWNUM','<=', $LIMIT)
00353  |  |  |  |    				return ''
00354  |  |  |  +-			endif
00355  |  |  |    
00356  |  |  |    			;----------------------------------------------------------------------------------------------/
00357  |  |  |    			; Return LIMIT
00358  |  |  |    			;----------------------------------------------------------------------------------------------/
00359  |  |  |    			return StringFormat(' LIMIT %s ', $LIMIT)
00360  |  +-	EndSwitch
00361  +-endfunc
00362    
00363    ; #FUNCTION# ====================================================================================================================
00364    ; Author ........: 4ern.de
00365    ; Description....: SELECT & DISTINCT Statement
00366    ; Source.........: http://www.w3schools.com/sql/sql_select.asp
00367    ; Source.........: http://www.w3schools.com/sql/sql_distinct.asp
00368    ; ===============================================================================================================================
00369  +-func __4ern_SQL__QueryBuilder__select($ACTION = DEFAULT, $COLM = DEFAULT, $METHODE = 'SELECT')
00370  |    	;----------------------------------------------------------------------------------------------/
00371  |    	; Eigenschaften
00372  |    	;----------------------------------------------------------------------------------------------/
00373  |    	Local Static $QUEUE = ObjCreate("System.Collections.Queue")
00374  |    	if __4ern_SQL__IsDefault($ACTION, '-1,', ',') Then $ACTION = 'store'
00375  |    	Local Static $isMethode = Null
00376  |    
00377  |    	;----------------------------------------------------------------------------------------------/
00378  |    	; Setze Methode
00379  |    	;----------------------------------------------------------------------------------------------/
00380  |    	if $isMethode = Null then $isMethode = $METHODE
00381  |    
00382  |    	;----------------------------------------------------------------------------------------------/
00383  |    	; AKTION
00384  |    	;----------------------------------------------------------------------------------------------/
00385  |  +-	Switch $ACTION
00386  |  |    
00387  |  |    		;----------------------------------------------------------------------------------------------/
00388  |  |    		; Speichere die Select spalten in eine Queue
00389  |  |    		;----------------------------------------------------------------------------------------------/
00390  |  |  +-		Case 'store'
00391  |  |  |  +-			Switch $METHODE
00392  |  |  |  |    
00393  |  |  |  |    				;----------------------------------------------------------------------------------------------/
00394  |  |  |  |    				; Methode SELECT
00395  |  |  |  |    				;----------------------------------------------------------------------------------------------/
00396  |  |  |  |  +-				Case 'SELECT'
00397  |  |  |  |  |  +-					if $isMethode <> $METHODE then
00398  |  |  |  |  |  |    						__4ern_SQL_Console('error', 'SELECT -- QUERY BUILDER', 'Es wurde bereits die Methode DISTINCT aufgerufen.')
00399  |  |  |  |  |  |    						return SetError(1, 0, 0) 
00400  |  |  |  |  |  +-					endif
00401  |  |  |  |  |    
00402  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00403  |  |  |  |  |    					; Array Verarbeitung
00404  |  |  |  |  |    					; 	-> Ansonsten String
00405  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00406  |  |  |  |  |  +-					IF IsArray($COLM) then 
00407  |  |  |  |  |  |  +-						for $element in $COLM 
00408  |  |  |  |  |  |  |    							if isstring($element) then $QUEUE.Enqueue($element)
00409  |  |  |  |  |  |  +-						next
00410  |  |  |  |  |  +-					ELSE
00411  |  |  |  |  |  |    						if IsString($COLM) then $QUEUE.Enqueue($COLM)
00412  |  |  |  |  |  +-					endif
00413  |  |  |  |  |    
00414  |  |  |  |  |    				;----------------------------------------------------------------------------------------------/
00415  |  |  |  |  |    				; Methode DISTINCT
00416  |  |  |  |  |    				;----------------------------------------------------------------------------------------------/
00417  |  |  |  |  +-				Case 'DISTINCT'
00418  |  |  |  |  |  +-					if $isMethode <> $METHODE then
00419  |  |  |  |  |  |    						__4ern_SQL_Console('error', 'DISTINCT -- QUERY BUILDER', 'Es wurde bereits die Methode SELECT aufgerufen.')
00420  |  |  |  |  |  |    						return SetError(1, 0, 0) 
00421  |  |  |  |  |  +-					endif
00422  |  |  |  |  |    
00423  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00424  |  |  |  |  |    					; Array Verarbeitung
00425  |  |  |  |  |    					; 	-> Ansonsten String
00426  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00427  |  |  |  |  |  +-					IF IsArray($COLM) then 
00428  |  |  |  |  |  |  +-						for $element in $COlM 
00429  |  |  |  |  |  |  |    							if isstring($element) then $QUEUE.Enqueue($element)
00430  |  |  |  |  |  |  +-						next
00431  |  |  |  |  |  +-					ELSE
00432  |  |  |  |  |  |    						if IsString($COlM) then $QUEUE.Enqueue($COlM)
00433  |  |  |  |  |  +-					endif
00434  |  |  |  +-			EndSwitch
00435  |  |  |    		
00436  |  |  |    		;----------------------------------------------------------------------------------------------/
00437  |  |  |    		; Ermittle alle Elemete aus der Queue, und erstelle an Select String
00438  |  |  |    		;----------------------------------------------------------------------------------------------/
00439  |  |  +-		Case 'get'
00440  |  |  |    
00441  |  |  |    			;----------------------------------------------------------------------------------------------/
00442  |  |  |    			; Bei SQL-Server nehmen Take anstatt von LIMIT
00443  |  |  |    			;----------------------------------------------------------------------------------------------/
00444  |  |  |  +-			if __4ern_SQL_Connection = 'sqlServer' then
00445  |  |  |  |    				Local $take = __4ern_SQL__QueryBuilder__limit(-1,'get')
00446  |  |  |  |    				Local $String = StringFormat('%s %s ', $isMethode,  $take)
00447  |  |  |  +-			else
00448  |  |  |  |    				Local $String = $isMethode & ' '
00449  |  |  |  +-			endif
00450  |  |  |    			
00451  |  |  |    			;----------------------------------------------------------------------------------------------/
00452  |  |  |    			; Wenn keine Einträge vorhanden, dann * 
00453  |  |  |    			;----------------------------------------------------------------------------------------------/
00454  |  |  |    			If $QUEUE.Count = 0 then Return $String & '* '
00455  |  |  |    
00456  |  |  |    			;----------------------------------------------------------------------------------------------/
00457  |  |  |    			; Erstelle String
00458  |  |  |    			;----------------------------------------------------------------------------------------------/
00459  |  |  |  +-			for $elemet in $QUEUE
00460  |  |  |  |    				$String &= $elemet & ', '
00461  |  |  |  +-			next
00462  |  |  |    
00463  |  |  |    			;----------------------------------------------------------------------------------------------/
00464  |  |  |    			; Lösche alle Einträge aus der Queue
00465  |  |  |    			;----------------------------------------------------------------------------------------------/
00466  |  |  |  +-			while $QUEUE.Count <> 0
00467  |  |  |  |    				$QUEUE.clear
00468  |  |  |  +-			wend
00469  |  |  |    			$isMethode = Null
00470  |  |  |    
00471  |  |  |    			;----------------------------------------------------------------------------------------------/
00472  |  |  |    			; Return 
00473  |  |  |    			;----------------------------------------------------------------------------------------------/				
00474  |  |  |    			return StringReplace($String, ',', '', -1)
00475  |  +-	EndSwitch
00476  +-endfunc
00477  +-func __4ern_SQL_Query_select($COLM,$C1=DEFAULT,$C2=DEFAULT,$C3=DEFAULT,$C4=DEFAULT,$C5=DEFAULT,$C6=DEFAULT,$C7=DEFAULT,$C8=DEFAULT,$C9=DEFAULT)
00478  |    	
00479  |    	;----------------------------------------------------------------------------------------------/
00480  |    	; Prüfen ob $COLM ein 2D Array ist..
00481  |    	;----------------------------------------------------------------------------------------------/
00482  |  +-	if IsArray($COLM) then
00483  |  |  +-		if UBound($COLM, 2) <> 0 then
00484  |  |  |    			__4ern_SQL_Console('error', 'SELECT -- QUERY BUILDER', 'Es sind nur 1D Arrays erlaubt')
00485  |  |  |    			return SetError(1, 0, 0)
00486  |  |  +-		endif
00487  |  +-	endif
00488  |    
00489  |    	;----------------------------------------------------------------------------------------------/
00490  |    	; Übergabe der Parameter an QueryBuilder
00491  |    	;----------------------------------------------------------------------------------------------/
00492  |    	__4ern_SQL__QueryBuilder__SELECT(-1,$COLM)
00493  |    	IF $C1 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C1)
00494  |    	IF $C2 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C2)
00495  |    	IF $C3 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C3)
00496  |    	IF $C4 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C4)
00497  |    	IF $C5 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C5)
00498  |    	IF $C6 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C6)
00499  |    	IF $C7 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C7)
00500  |    	IF $C8 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C8)
00501  |    	IF $C9 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C9)
00502  |    
00503  |    	return 1
00504  +-endfunc
00505  +-func __4ern_SQL_Query_distinct($COLM,$C1=DEFAULT,$C2=DEFAULT,$C3=DEFAULT,$C4=DEFAULT,$C5=DEFAULT,$C6=DEFAULT,$C7=DEFAULT,$C8=DEFAULT,$C9=DEFAULT)
00506  |    	
00507  |    	;----------------------------------------------------------------------------------------------/
00508  |    	; Prüfen ob $COLM ein 2D Array ist..
00509  |    	;----------------------------------------------------------------------------------------------/
00510  |  +-	if IsArray($COLM) then
00511  |  |  +-		if UBound($COLM, 2) <> 0 then
00512  |  |  |    			__4ern_SQL_Console('error', 'DISTINCT -- QUERY BUILDER', 'Es sind nur 1D Arrays erlaubt')
00513  |  |  |    			return SetError(1, 0, 0)
00514  |  |  +-		endif
00515  |  +-	endif
00516  |    
00517  |    	;----------------------------------------------------------------------------------------------/
00518  |    	; Übergabe der Parameter an QueryBuilder
00519  |    	;----------------------------------------------------------------------------------------------/
00520  |    		__4ern_SQL__QueryBuilder__SELECT(-1,$COLM, 'DISTINCT')
00521  |    		IF $C1 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C1, 'DISTINCT')
00522  |    		IF $C2 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C2, 'DISTINCT')
00523  |    		IF $C3 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C3, 'DISTINCT')
00524  |    		IF $C4 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C4, 'DISTINCT')
00525  |    		IF $C5 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C5, 'DISTINCT')
00526  |    		IF $C6 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C6, 'DISTINCT')
00527  |    		IF $C7 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C7, 'DISTINCT')
00528  |    		IF $C8 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C8, 'DISTINCT')
00529  |    		IF $C9 <> DEFAULT then __4ern_SQL__QueryBuilder__SELECT(-1,$C9, 'DISTINCT')
00530  |    
00531  |    	return 1
00532  +-endfunc
00533    
00534    ; #FUNCTION# ====================================================================================================================
00535    ; Author ........: 4ern.de
00536    ; Description....: WHERE Clause
00537    ; Source.........: http://www.w3schools.com/sql/sql_where.asp
00538    ; ===============================================================================================================================
00539  +-func __4ern_SQL__QueryBuilder__where($ACTION = DEFAULT, $aVALUE = DEFAULT, $METHODE = DEFAULT, $SQL_OPERATOR = DEFAULT, $SET_QUE = DEFAULT)
00540  |    
00541  |    	;----------------------------------------------------------------------------------------------/
00542  |    	; Eigenschaften
00543  |    	;----------------------------------------------------------------------------------------------/
00544  |    	Local Static $WHERE_QUEUE    = ObjCreate("System.Collections.Queue")
00545  |    	Local Static $HAVING_QUEUE   = ObjCreate("System.Collections.Queue")
00546  |    	Local Static $bWhereBetween  = Null
00547  |    	Local Static $bHavingBetween = Null
00548  |    	Local Static $bWhereIn       = Null
00549  |    	Local Static $bHavingIn      = Null
00550  |    
00551  |    	;----------------------------------------------------------------------------------------------/
00552  |    	; DEFAUL Eingenschaften
00553  |    	;----------------------------------------------------------------------------------------------/
00554  |    	if __4ern_SQL__IsDefault($ACTION, '-1,', ',') Then $ACTION             = 'store'
00555  |    	if __4ern_SQL__IsDefault($SET_QUE, '-1,', ',') Then $SET_QUE           = 'WHERE'
00556  |    	if __4ern_SQL__IsDefault($SQL_OPERATOR, '-1,', ',') Then $SQL_OPERATOR = 'AND'
00557  |    	if __4ern_SQL__IsDefault($METHODE, '-1,', ',') Then $METHODE           = 'AND'
00558  |    
00559  |    	;----------------------------------------------------------------------------------------------/
00560  |    	; QUE
00561  |    	;----------------------------------------------------------------------------------------------/
00562  |  +-	if $SET_QUE = 'WHERE' then 
00563  |  |    		$QUEUE    = $WHERE_QUEUE
00564  |  |    		$bBetween = $bWhereBetween
00565  |  |    		$bIn      = $bWhereIn
00566  |  +-	endif
00567  |    
00568  |  +-	if $SET_QUE = 'HAVING' then
00569  |  |    		$QUEUE    = $HAVING_QUEUE
00570  |  |    		$bBetween = $bHavingBetween
00571  |  |    		$bIn      = $bHavingIn
00572  |  +-	endif
00573  |    
00574  |    	;----------------------------------------------------------------------------------------------/
00575  |    	; METHODEN
00576  |    	;----------------------------------------------------------------------------------------------/
00577  |  +-	Switch $ACTION
00578  |  |  +-		Case 'store'
00579  |  |  |    
00580  |  |  |    			;----------------------------------------------------------------------------------------------/
00581  |  |  |    			; SQL Operator
00582  |  |  |    			;----------------------------------------------------------------------------------------------/
00583  |  |  |  +-			Switch $METHODE
00584  |  |  |  |    
00585  |  |  |  |  +-				Case 'AND', 'OR'
00586  |  |  |  |  |  +-					IF IsArray($aVALUE) then 
00587  |  |  |  |  |  |  +-						for $element in $aVALUE 
00588  |  |  |  |  |  |  |    							if isString($element) then $QUEUE.Enqueue(stringformat('%s (%s)', $METHODE, $element))
00589  |  |  |  |  |  |  +-						next
00590  |  |  |  |  |  +-					ELSE
00591  |  |  |  |  |  |    						if IsString($aVALUE) then $QUEUE.Enqueue(stringformat('%s (%s)', $METHODE, $aVALUE))
00592  |  |  |  |  |  +-					endif
00593  |  |  |  |  |    
00594  |  |  |  |  +-				Case 'BETWEEN', 'NOT BETWEEN'
00595  |  |  |  |  |  +-					if $bBetween = Null then
00596  |  |  |  |  |  |    						if IsString($aVALUE) then $QUEUE.Enqueue(stringformat('%s (%s)', $SQL_OPERATOR, $aVALUE))
00597  |  |  |  |  |  |    						$bBetween = 1
00598  |  |  |  |  |  +-					else
00599  |  |  |  |  |  |    						__4ern_SQL_Console('error', 'BETWEEN -- QUERY BUILDER', 'Der Parameter BETWEEN kann nur einmal pro Query erfolgen')
00600  |  |  |  |  |  +-					endif
00601  |  |  |  |  |    
00602  |  |  |  |  +-				Case 'IN', 'NOT IN'
00603  |  |  |  |  |  +-					if $bIn = Null then
00604  |  |  |  |  |  |    						if IsString($aVALUE) then $QUEUE.Enqueue(stringformat('%s (%s)', $SQL_OPERATOR, $aVALUE))
00605  |  |  |  |  |  |    						$bIn = 1
00606  |  |  |  |  |  +-					else
00607  |  |  |  |  |  |    						__4ern_SQL_Console('error', 'BETWEEN -- QUERY BUILDER', 'Der Parameter BETWEEN kann nur einmal pro Query erfolgen')
00608  |  |  |  |  |  +-					endif
00609  |  |  |  |  |    
00610  |  |  |  |  +-				Case 'IS NULL', 'IS NOT NULL'
00611  |  |  |  |  |  +-					IF IsArray($aVALUE) then 
00612  |  |  |  |  |  |  +-						for $element in $aVALUE 
00613  |  |  |  |  |  |  |    							if isString($element) then $QUEUE.Enqueue(stringformat('%s (%s)', $SQL_OPERATOR, $element))
00614  |  |  |  |  |  |  +-						next
00615  |  |  |  |  |  +-					ELSE
00616  |  |  |  |  |  |    						if IsString($aVALUE) then $QUEUE.Enqueue(stringformat('%s (%s)', $SQL_OPERATOR, $aVALUE))
00617  |  |  |  |  |  +-					endif
00618  |  |  |  +-			EndSwitch
00619  |  |  |    
00620  |  |  |    		;----------------------------------------------------------------------------------------------/
00621  |  |  |    		; Ermittle alle Elemete aus der Queue, und erstelle an Select String
00622  |  |  |    		;----------------------------------------------------------------------------------------------/
00623  |  |  +-		Case 'getWhere'
00624  |  |  |    
00625  |  |  |    			;**********************************************************************************************/
00626  |  |  |    			; Ablauf
00627  |  |  |    			;	- Erstelle String 'WHERE '
00628  |  |  |    			;	- Anzahl der Que = 0 dan return String 'Where 1'
00629  |  |  |    			;	- Erstelle String mit aus der Que heraus
00630  |  |  |    			;	- Bereinige Static Variablen und leere die QUE
00631  |  |  |    			;	- Bereinigung und Return des Strings
00632  |  |  |    			;**********************************************************************************************/
00633  |  |  |    
00634  |  |  |    			$String = 'WHERE '
00635  |  |  |    			If $WHERE_QUEUE.Count = 0 then Return ''
00636  |  |  |  +-			for $elemet in $WHERE_QUEUE
00637  |  |  |  |    				$String &= $elemet & ' '
00638  |  |  |  +-			next
00639  |  |  |    			$WHERE_QUEUE.clear
00640  |  |  |    			$bHavingBetween = Null
00641  |  |  |    			$bHavingIn      = Null
00642  |  |  |    			return StringStripWS(StringReplace(StringReplace($String, 'WHERE AND', 'WHERE', 1), 'WHERE OR', 'WHERE', 1), 4)
00643  |  |  |    
00644  |  |  |    		;----------------------------------------------------------------------------------------------/
00645  |  |  |    		; Ermittle alle Elemete aus der Queue, und erstelle an Select String
00646  |  |  |    		;----------------------------------------------------------------------------------------------/
00647  |  |  +-		Case 'getHaving'
00648  |  |  |    
00649  |  |  |    			;**********************************************************************************************/
00650  |  |  |    			; Ablauf
00651  |  |  |    			;	- Erstelle String 'HAVING '
00652  |  |  |    			;	- Anzahl der Que = 0 dan return String leer String
00653  |  |  |    			;	- Erstelle String mit aus der Que heraus
00654  |  |  |    			;	- Bereinige Static Variablen und leere die QUE
00655  |  |  |    			;	- Bereinigung und Return des Strings
00656  |  |  |    			;**********************************************************************************************/
00657  |  |  |    
00658  |  |  |    			$String = 'HAVING '
00659  |  |  |    			If $HAVING_QUEUE.Count = 0 then Return ''
00660  |  |  |  +-			for $elemet in $HAVING_QUEUE
00661  |  |  |  |    				$String &= $elemet & ' '
00662  |  |  |  +-			next
00663  |  |  |    			$HAVING_QUEUE.clear
00664  |  |  |    			$bHavingBetween = Null
00665  |  |  |    			$bHavingIn      = Null
00666  |  |  |    			return StringStripWS(StringReplace(StringReplace($String, 'HAVING AND', 'WHERE', 1), 'HAVING OR', 'HAVING', 1), 4)
00667  |  |  |    
00668  |  +-	EndSwitch
00669  +-endfunc
00670  +-func __4ern_SQL_Query_where($COLM,$V1 = DEFAULT, $V2 = DEFAULT, $METHODE = 'AND', $SET_QUE = DEFAULT)
00671  |    
00672  |    	;----------------------------------------------------------------------------------------------/
00673  |    	; Prüfen ob COLM ein 2D Array ist.
00674  |    	;----------------------------------------------------------------------------------------------/
00675  |  +-	if IsArray($COLM) Then
00676  |  |    		$iColm = UBound($COLM, 2)
00677  |  |  +-		Select
00678  |  |  |    
00679  |  |  |    			;----------------------------------------------------------------------------------------------/
00680  |  |  |    			; 1D Array
00681  |  |  |    			;----------------------------------------------------------------------------------------------/
00682  |  |  |  +-			Case $iColm = 0
00683  |  |  |  |    				__4ern_SQL_Console('error', 'WHERE - HAVING -- QUERY BUILDER', '2D Array erforderlich')
00684  |  |  |  |    				return SetError(1, 0, 0)
00685  |  |  |  |    
00686  |  |  |  |    			;----------------------------------------------------------------------------------------------/
00687  |  |  |  |    			; 2D Array with 2 Colms
00688  |  |  |  |    			; Without Operators
00689  |  |  |  |    			;----------------------------------------------------------------------------------------------/
00690  |  |  |  +-			Case $iColm = 2
00691  |  |  |  |  +-				for $i = 0 to Ubound($COLM) -1
00692  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00693  |  |  |  |  |    					; Unterscheidung zwischen INT & String
00694  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00695  |  |  |  |  |  +-					if IsString($COLM[$i][1]) then 
00696  |  |  |  |  |  |    						$string = StringFormat('%s = "%s"', $COLM[$i][0], $COLM[$i][1])
00697  |  |  |  |  |  +-					else
00698  |  |  |  |  |  |    						$string = StringFormat('%s = %s', $COLM[$i][0], $COLM[$i][1])
00699  |  |  |  |  |  +-					endif
00700  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00701  |  |  |  |  |    					; Store Where String
00702  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00703  |  |  |  |  |    					__4ern_SQL__QueryBuilder__WHERE(-1,$string, $METHODE, DEFAULT, $SET_QUE)
00704  |  |  |  |  +-				next
00705  |  |  |  |    
00706  |  |  |  |    			;----------------------------------------------------------------------------------------------/
00707  |  |  |  |    			; 2D Array with 3 Colms
00708  |  |  |  |    			; With Operators
00709  |  |  |  |    			;----------------------------------------------------------------------------------------------/
00710  |  |  |  +-			Case $iColm = 3
00711  |  |  |  |  +-				for $i = 0 to Ubound($COLM) -1
00712  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00713  |  |  |  |  |    					; Prüfung auf Parameter Gültigkeit
00714  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00715  |  |  |  |  |  +-					if (StringRegExp($COLM[$i][1], '(<>|!=|>=|<=)')) = 0 and _ 
00716  |  |  |  |  |  |       						(StringRegExp(StringMid($COLM[$i][1], 1, 1), '(=|<|>)')) = 0 Then
00717  |  |  |  |  ^--|----						ContinueLoop
00718  |  |  |  |  |  +-					endif
00719  |  |  |  |  |    
00720  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00721  |  |  |  |  |    					; Unterscheidung zwischen INT & String
00722  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00723  |  |  |  |  |  +-					if IsString($COLM[$i][2]) then 
00724  |  |  |  |  |  |    						$string = StringFormat('%s %s "%s"', $COLM[$i][0], $COLM[$i][1], $COLM[$i][2])
00725  |  |  |  |  |  +-					else
00726  |  |  |  |  |  |    						$string = StringFormat('%s %s %s', $COLM[$i][0], $COLM[$i][1], $COLM[$i][2])
00727  |  |  |  |  |  +-					endif
00728  |  |  |  |  |    
00729  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00730  |  |  |  |  |    					; Store Where String
00731  |  |  |  |  |    					;----------------------------------------------------------------------------------------------/
00732  |  |  |  |  |    					__4ern_SQL__QueryBuilder__WHERE(-1,$string, $METHODE, DEFAULT, $SET_QUE)
00733  |  |  |  |  +-				next
00734  |  |  |  |    
00735  |  |  |  |    			;----------------------------------------------------------------------------------------------/
00736  |  |  |  |    			; 2D Array undefinierte Spalten
00737  |  |  |  |    			;----------------------------------------------------------------------------------------------/
00738  |  |  |  +-			Case Else
00739  |  |  |  |    				__4ern_SQL_Console('error', 'WHERE - HAVING -- QUERY BUILDER', '2D Array hat mehr als 3 Spalten')
00740  |  |  |  |    				return SetError(1, 0, 0)
00741  |  |  +-		Endselect
00742  |  +-	endif
00743  |    
00744  |    	;----------------------------------------------------------------------------------------------/
00745  |    	; Param Übergabe
00746  |    	;----------------------------------------------------------------------------------------------/
00747  |    	;----------------------------------------------------------------------------------------------/
00748  |    	; Prüfen ob ein Vergleichswert übergeben wurde.
00749  |    	;----------------------------------------------------------------------------------------------/
00750  |  +-	If $V1 = DEFAULT then 
00751  |  |    		__4ern_SQL_Console('error', 'WHERE - HAVING -- QUERY BUILDER', 'Es wurde kein Vergleichswert angegeben')
00752  |  |    		return SetError(1, 0, 0)
00753  |  +-	endif
00754  |    
00755  |    	;----------------------------------------------------------------------------------------------/
00756  |    	; Prüfe ob V1 ein Operator ist
00757  |    	;----------------------------------------------------------------------------------------------/
00758  |  +-	if (StringRegExp($V1, '(<>|!=|>=|<=)')) = 1 or _ 
00759  |  |       		(StringRegExp(StringMid($V1, 1, 1), '(=|<|>)')) = 1 Then
00760  |  |    
00761  |  |    		;----------------------------------------------------------------------------------------------/
00762  |  |    		; Prüfe ob ein Vergleichswert angegeben wurde
00763  |  |    		;----------------------------------------------------------------------------------------------/
00764  |  |  +-		If $V2 = DEFAULT then 
00765  |  |  |    			__4ern_SQL_Console('error', 'WHERE - HAVING -- QUERY BUILDER', 'Es wurde kein Vergleichswert angegeben')
00766  |  |  |    			return SetError(1, 0, 0)
00767  |  |  +-		endif
00768  |  |    
00769  |  |    		;----------------------------------------------------------------------------------------------/
00770  |  |    		; Unterscheidung zwischen INT & String
00771  |  |    		;----------------------------------------------------------------------------------------------/
00772  |  |  +-		if IsString($V2) then 
00773  |  |  |    			$string = StringFormat('%s %s "%s"', $COLM, $V1, $V2)
00774  |  |  +-		else
00775  |  |  |    			$string = StringFormat('%s %s %s', $COLM, $V1, $V2)
00776  |  |  +-		endif
00777  |  |    
00778  |  |    		;----------------------------------------------------------------------------------------------/
00779  |  |    		; Store Where String
00780  |  |    		;----------------------------------------------------------------------------------------------/
00781  |  |    		__4ern_SQL__QueryBuilder__WHERE(-1,$string, $METHODE, DEFAULT, $SET_QUE)
00782  |  |    		return 1 
00783  |  +-	else
00784  |  |    		;----------------------------------------------------------------------------------------------/
00785  |  |    		; Unterscheidung zwischen INT & String
00786  |  |    		;----------------------------------------------------------------------------------------------/
00787  |  |  +-		if IsString($V1) then 
00788  |  |  |    			$string = StringFormat('%s = "%s"', $COLM, $V1)
00789  |  |  +-		else
00790  |  |  |    			$string = StringFormat('%s = %s', $COLM, $V1)
00791  |  |  +-		endif
00792  |  |    		;----------------------------------------------------------------------------------------------/
00793  |  |    		; Store Where String
00794  |  |    		;----------------------------------------------------------------------------------------------/
00795  |  |    		__4ern_SQL__QueryBuilder__WHERE(-1,$string, $METHODE, DEFAULT, $SET_QUE)
00796  |  |    		return 1
00797  |  +-	endif
00798  +-endfunc
00799  +-func __4ern_SQL_Query_orWhere($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00800  |    	$ret = __4ern_SQL_Query_where($COLM, $V1, $V2, 'OR')
00801  |    	Return SetError(@error, 0, $ret)
00802  +-endfunc
00803  +-func __4ern_SQL_Query_whereBetween($COLM, $V1 = DEFAULT, $V2 = DEFAULT, $METHODE = 'BETWEEN', $SET_QUE = DEFAULT)
00804  |    
00805  |  +-	Select
00806  |  |  +-		Case IsString($V1)
00807  |  |  |  +-			if IsString($V2) = 0 then 
00808  |  |  |  |    				__4ern_SQL_Console('error', 'WHERE '&$METHODE&' -- QUERY BUILDER', 'Beide Paremter muessen den selben Typ besitzen')
00809  |  |  |  |    				return SetError(1, 0, 0)
00810  |  |  |  +-			endif
00811  |  |  |    			__4ern_SQL__QueryBuilder__WHERE(-1, StringFormat('%s %s "%s" AND "%s"',$COLM, $METHODE, $V1, $V2), $METHODE, DEFAULT, $SET_QUE)
00812  |  |  |    
00813  |  |  +-		Case IsInt($V1)
00814  |  |  |  +-			If IsInt($V2) = 0 then 
00815  |  |  |  |    				__4ern_SQL_Console('error', 'WHERE '&$METHODE&' -- QUERY BUILDER', 'Beide Paremter muessen den selben Typ besitzen')
00816  |  |  |  |    				return SetError(1, 0, 0)
00817  |  |  |  +-			endif
00818  |  |  |    			__4ern_SQL__QueryBuilder__WHERE(-1, StringFormat('%s %s %s AND %s',$COLM, $METHODE, $V1, $V2), $METHODE, DEFAULT, $SET_QUE)
00819  |  +-	EndSelect
00820  +-endfunc
00821  +-func __4ern_SQL_Query_whereNotBetween($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00822  |    	$ret = __4ern_SQL_Query_whereBetween($COLM, $V1, $V2, 'NOT BETWEEN')
00823  |    	return SetError(@error, 0, $ret)
00824  +-endfunc
00825  +-func __4ern_SQL_Query_whereIn($COLM, $V1 = DEFAULT, $V2 = DEFAULT, $METHODE = 'IN', $SET_QUE = DEFAULT)
00826  |    
00827  |  +-	Select
00828  |  |  +-		case IsArray($V1)
00829  |  |  |  +-			if UBound($V1, 2) = 0 then
00830  |  |  |  |  +-				for $element in $V1
00831  |  |  |  |  |  +-					if IsString($element) then 
00832  |  |  |  |  |  |    						$string = StringFormat('%s %s "%s"', $COLM, $METHODE, $element)
00833  |  |  |  |  |  +-					else
00834  |  |  |  |  |  |    						$string = StringFormat('%s %s %s', $COLM, $METHODE, $element)
00835  |  |  |  |  |  +-					endif
00836  |  |  |  |  +-				next
00837  |  |  |  |    				__4ern_SQL__QueryBuilder__WHERE(-1, $string, $METHODE, DEFAULT, $SET_QUE)			
00838  |  |  |  |    				return 1			
00839  |  |  |  +-			endif
00840  |  |  |    
00841  |  |  +-		Case IsString($V1)
00842  |  |  |  +-			if IsString($V2) = 0 then 
00843  |  |  |  |    				__4ern_SQL_Console('error', 'WHERE '&$METHODE&' -- QUERY BUILDER', 'Beide Paremter muessen den selben Typ besitzen')
00844  |  |  |  |    				return SetError(1, 0, 0)
00845  |  |  |  +-			endif
00846  |  |  |    			__4ern_SQL__QueryBuilder__WHERE(-1, StringFormat('%s %s "%s" AND "%s"',$COLM, $METHODE, $V1, $V2), $METHODE)
00847  |  |  |    
00848  |  |  +-		Case IsInt($V1)
00849  |  |  |  +-			If IsInt($V2) = 0 then 
00850  |  |  |  |    				__4ern_SQL_Console('error', 'WHERE '&$METHODE&' -- QUERY BUILDER', 'Beide Paremter muessen den selben Typ besitzen')
00851  |  |  |  |    				return SetError(1, 0, 0)
00852  |  |  |  +-			endif
00853  |  |  |    			__4ern_SQL__QueryBuilder__WHERE(-1, StringFormat('%s %s %s AND %s',$COLM, $METHODE, $V1, $V2), $METHODE, DEFAULT, $SET_QUE)
00854  |  +-	EndSelect
00855  +-endfunc
00856  +-func __4ern_SQL_Query_whereNotIn($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00857  |    	$ret = __4ern_SQL_Query_whereIn($COLM, $V1, $V2, 'NOT IN')
00858  |    	return SetError(@error, 0, $ret)
00859  +-endfunc
00860  +-func __4ern_SQL_Query_whereNull($COLM, $METHODE = 'IS NULL', $SET_QUE = DEFAULT)
00861  |    	$ret = __4ern_SQL__QueryBuilder__WHERE(-1, StringFormat('%s %s', $COLM, $METHODE), $METHODE, DEFAULT, $SET_QUE)
00862  |    	return SetError(@error, 0, $ret)
00863  +-endfunc
00864  +-func __4ern_SQL_Query_whereNotNull($COLM)
00865  |    	$ret = __4ern_SQL_Query_whereNull($COLM, 'IS NOT NULL')
00866  |    	return SetError(@error, 0, $ret)
00867  +-endfunc
00868    
00869    ; #FUNCTION# ====================================================================================================================
00870    ; Author ........: 4ern.de
00871    ; Description....: SQL HAVING Clause
00872    ; Source.........: http://www.w3schools.com/sql/sql_having.asp
00873    ; ===============================================================================================================================
00874  +-func __4ern_SQL_Query_having($COLM,$V1 = DEFAULT, $V2 = DEFAULT)
00875  |    	$ret = __4ern_SQL_Query_where($COLM,$V1, $V2, 'AND', 'HAVING')
00876  |    	return SetError(@error, 0, $ret)
00877  +-endfunc
00878  +-func __4ern_SQL_Query_orHaving($COLM,$V1 = DEFAULT, $V2 = DEFAULT)
00879  |    	$ret = __4ern_SQL_Query_where($COLM,$V1, $V2, 'OR', 'HAVING')
00880  |    	return SetError(@error, 0, $ret)
00881  +-endfunc
00882  +-func __4ern_SQL_Query_havingBetween($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00883  |    	$ret = __4ern_SQL_Query_whereBetween($COLM,$V1, $V2, 'BETWEEN', 'HAVING')
00884  |    	return SetError(@error, 0, $ret)
00885  +-endfunc
00886  +-func __4ern_SQL_Query_havingNotBetween($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00887  |    	$ret = __4ern_SQL_Query_whereBetween($COLM,$V1, $V2, 'NOT BETWEEN', 'HAVING')
00888  |    	return SetError(@error, 0, $ret)
00889  +-endfunc
00890  +-func __4ern_SQL_Query_havingIn($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00891  |    	$ret = __4ern_SQL_Query_whereIn($COLM,$V1, $V2, 'IN', 'HAVING')
00892  |    	return SetError(@error, 0, $ret)
00893  +-endfunc
00894  +-func __4ern_SQL_Query_havingNotIn($COLM, $V1 = DEFAULT, $V2 = DEFAULT)
00895  |    	$ret = __4ern_SQL_Query_whereIn($COLM,$V1, $V2, 'NOT IN', 'HAVING')
00896  |    	return SetError(@error, 0, $ret)
00897  +-endfunc
00898  +-func __4ern_SQL_Query_havingNull($COLM)
00899  |    	$ret = __4ern_SQL_Query_whereNull($COLM, 'IS NULL', 'HAVING')
00900  |    	return SetError(@error, 0, $ret)
00901  +-endfunc
00902  +-func __4ern_SQL_Query_havingNotNull($COLM)
00903  |    	$ret = __4ern_SQL_Query_whereNull($COLM, 'IS NOT NULL', 'HAVING')
00904  |    	return SetError(@error, 0, $ret)
00905  +-endfunc
00906    
00907    ; #FUNCTION# ====================================================================================================================
00908    ; Author ........: 4ern.de
00909    ; Description....: SQL GROUP BY Statement
00910    ; Source.........: http://www.w3schools.com/sql/sql_groupby.asp
00911    ; ===============================================================================================================================
00912  +-func __4ern_SQL__QueryBuilder__groupBy($ACTION = DEFAULT, $COLM = DEFAULT)
00913  |    	;----------------------------------------------------------------------------------------------/
00914  |    	; Eigenschaften
00915  |    	;----------------------------------------------------------------------------------------------/
00916  |    	Local Static $QUEUE = ObjCreate("System.Collections.Queue")
00917  |    	if __4ern_SQL__IsDefault($ACTION, '-1,', ',') Then $ACTION = 'store'
00918  |    
00919  |    	;----------------------------------------------------------------------------------------------/
00920  |    	; AKTION
00921  |    	;----------------------------------------------------------------------------------------------/
00922  |  +-	Switch $ACTION
00923  |  |    
00924  |  |    		;----------------------------------------------------------------------------------------------/
00925  |  |    		; Speichere die Select spalten in eine Queue
00926  |  |    		;----------------------------------------------------------------------------------------------/
00927  |  |  +-		Case 'store'
00928  |  |  |    			if IsString($COLM) then $QUEUE.Enqueue(stringformat('AND %s ', $COLM))
00929  |  |  |    			return 1
00930  |  |  |    		
00931  |  |  |    		;----------------------------------------------------------------------------------------------/
00932  |  |  |    		; Ermittle alle Elemete aus der Queue, und erstelle an Select String
00933  |  |  |    		;----------------------------------------------------------------------------------------------/
00934  |  |  +-		Case 'get'
00935  |  |  |    
00936  |  |  |    			Local $SQL = 'GROUP BY '
00937  |  |  |    
00938  |  |  |    			;----------------------------------------------------------------------------------------------/
00939  |  |  |    			; Wenn keine Einträge vorhanden, dann * 
00940  |  |  |    			;----------------------------------------------------------------------------------------------/
00941  |  |  |    			If $QUEUE.Count = 0 then Return ''
00942  |  |  |    
00943  |  |  |    			;----------------------------------------------------------------------------------------------/
00944  |  |  |    			; Erstelle String
00945  |  |  |    			;----------------------------------------------------------------------------------------------/
00946  |  |  |  +-			for $elemet in $QUEUE
00947  |  |  |  |    				$SQL &= $elemet
00948  |  |  |  +-			next
00949  |  |  |    
00950  |  |  |    			;----------------------------------------------------------------------------------------------/
00951  |  |  |    			; Lösche alle Einträge aus der Queue
00952  |  |  |    			;----------------------------------------------------------------------------------------------/
00953  |  |  |    			$QUEUE.clear
00954  |  |  |    
00955  |  |  |    			;----------------------------------------------------------------------------------------------/
00956  |  |  |    			; Return 
00957  |  |  |    			;----------------------------------------------------------------------------------------------/		
00958  |  |  |    			return StringStripWS(StringReplace($SQL, 'BY AND', 'BY', 1), 4)	
00959  |  +-	EndSwitch
00960  +-endfunc
00961  +-func __4ern_SQL_Query_groupBy($COLM)
00962  |    	$ret = __4ern_SQL__QueryBuilder__groupBy(-1, $COLM)
00963  |    	return SetError(@error, 0, $ret)
00964  +-endfunc
00965    
00966    ; #FUNCTION# ====================================================================================================================
00967    ; Author ........: 4ern.de
00968    ; Description....: SQL ORDER BY Keyword
00969    ; Source.........: http://www.w3schools.com/sql/sql_orderby.asp
00970    ; ===============================================================================================================================
00971  +-func __4ern_SQL__QueryBuilder__Orderby($ACTION = DEFAULT, $COLM = DEFAULT)
00972  |    	;----------------------------------------------------------------------------------------------/
00973  |    	; Eigenschaften
00974  |    	;----------------------------------------------------------------------------------------------/
00975  |    	Local Static $QUEUE = ObjCreate("System.Collections.Queue")
00976  |    	if __4ern_SQL__IsDefault($ACTION, '-1,', ',') Then $ACTION = 'store'
00977  |    
00978  |    	;----------------------------------------------------------------------------------------------/
00979  |    	; AKTION
00980  |    	;----------------------------------------------------------------------------------------------/
00981  |  +-	Switch $ACTION
00982  |  |    
00983  |  |    		;----------------------------------------------------------------------------------------------/
00984  |  |    		; Speichere die Select spalten in eine Queue
00985  |  |    		;----------------------------------------------------------------------------------------------/
00986  |  |  +-		Case 'store'
00987  |  |  |    			;----------------------------------------------------------------------------------------------/
00988  |  |  |    			; Array Verarbeitung
00989  |  |  |    			; 	-> Ansonsten String
00990  |  |  |    			;----------------------------------------------------------------------------------------------/
00991  |  |  |    			if IsString($COLM) then $QUEUE.Enqueue($COLM)
00992  |  |  |    		
00993  |  |  |    		;----------------------------------------------------------------------------------------------/
00994  |  |  |    		; Ermittle alle Elemete aus der Queue, und erstelle an Select String
00995  |  |  |    		;----------------------------------------------------------------------------------------------/
00996  |  |  +-		Case 'get'
00997  |  |  |    
00998  |  |  |    			$string = 'ORDER BY '
00999  |  |  |    			;----------------------------------------------------------------------------------------------/
01000  |  |  |    			; Wenn keine Einträge vorhanden, dann * 
01001  |  |  |    			;----------------------------------------------------------------------------------------------/
01002  |  |  |    			If $QUEUE.Count = 0 then Return ''
01003  |  |  |    
01004  |  |  |    			;----------------------------------------------------------------------------------------------/
01005  |  |  |    			; Erstelle String
01006  |  |  |    			;----------------------------------------------------------------------------------------------/
01007  |  |  |  +-			for $elemet in $QUEUE
01008  |  |  |  |    				$string &= $elemet & ', '
01009  |  |  |  +-			next
01010  |  |  |    
01011  |  |  |    			;----------------------------------------------------------------------------------------------/
01012  |  |  |    			; Lösche alle Einträge aus der Queue
01013  |  |  |    			;----------------------------------------------------------------------------------------------/
01014  |  |  |    			$QUEUE.clear
01015  |  |  |    			;----------------------------------------------------------------------------------------------/
01016  |  |  |    			; Return 
01017  |  |  |    			;----------------------------------------------------------------------------------------------/				
01018  |  |  |    			return StringReplace($string, ',', '', -1)
01019  |  +-	EndSwitch
01020  +-endfunc
01021  +-func __4ern_SQL_Query_orderBy($COLM,$V1='asc')
01022  |    	
01023  |    	;----------------------------------------------------------------------------------------------/
01024  |    	; Prüfe ob ein valider Sortier wert eingegeben wurde
01025  |    	;----------------------------------------------------------------------------------------------/
01026  |  +-	if StringRegExp($V1, '(asc|desc)') = 0 then
01027  |  |    		__4ern_SQL_Console('error', 'ORDER BY -- QUERY BUILDER', StringFormat('(%s) ist kein valider ORDER BY Keyword', $V1))
01028  |  |    		return SetError(1, 0, 0)
01029  |  +-	endif
01030  |    
01031  |    	;----------------------------------------------------------------------------------------------/
01032  |    	; Übergabe der Parameter an QueryBuilder
01033  |    	;----------------------------------------------------------------------------------------------/
01034  |    	$ret = __4ern_SQL__QueryBuilder__ORDERBY(-1,StringFormat('%s %s', $COLM, $V1))
01035  |    	return SetError(@error, 0, $ret)
01036  +-endfunc
01037    
01038    ; #FUNCTION# ====================================================================================================================
01039    ; Author ........: 4ern.de
01040    ; Description....: Table DEFAULT Settings
01041    ; ===============================================================================================================================
01042  +-func __4ern_SQL__QueryBuilder__setTable($P_TABLE = DEFAULT, $P_TKEY = DEFAULT, $ACTION = 'set')
01043  |    	
01044  |    	Local Static $S_table
01045  |    	Local Static $S_tKey
01046  |    
01047  |  +-	Switch $ACTION
01048  |  |  +-		Case 'set'
01049  |  |  |    			If not __4ern_SQL__IsDefault($P_TABLE, '-1,', ',') Then $S_table = $P_TABLE
01050  |  |  |    			If not __4ern_SQL__IsDefault($P_TKEY, '-1,', ',') Then $S_tKey   = $P_TKEY
01051  |  |  |    	
01052  |  |  |    		;----------------------------------------------------------------------------------------------/
01053  |  |  |    		; Tabelle übergeben.
01054  |  |  |    		;----------------------------------------------------------------------------------------------/
01055  |  |  +-		Case 'getTable'
01056  |  |  |  +-			If not __4ern_SQL__IsDefault($S_table, '-1,', ',') Then 
01057  |  |  |  |    				$S_table = DEFAULT
01058  |  |  |  |    				return $S_table
01059  |  |  |  +-			endif
01060  |  |  |    			__4ern_SQL_Console('error', 'SQL Table', 'Es wurde keine Tabelle ausgewaehlt')
01061  |  |  |    			return SetError(1, 0, 0)
01062  |  |  |    		
01063  |  |  |    		;----------------------------------------------------------------------------------------------/
01064  |  |  |    		; Schlüssel übergeben
01065  |  |  |    		;----------------------------------------------------------------------------------------------/
01066  |  |  +-		Case 'getTKey'
01067  |  |  |    			If not __4ern_SQL__IsDefault($S_tKey, '-1,', ',') Then return $S_tKey
01068  |  |  |    			__4ern_SQL_Console('warning', 'Es wurde kein Tabellen Schluessel ausgewaehlt.')
01069  |  |  |    			return $S_tKey
01070  |  |  |    
01071  |  +-	EndSwitch
01072  +-endfunc
01073  +-func __4ern_SQL__QueryBuilder__setkey($key)
01074  |    
01075  |    	__4ern_SQL__QueryBuilder__setTable(DEFAULT, $key)
01076  +-endfunc
01077    
01078    ; #FUNCTION# ====================================================================================================================
01079    ; Author ........: 4ern.de
01080    ; Description....: RAW SQL Statement
01081    ; ===============================================================================================================================
01082  +-func __4ern_SQL_rawQueryExpr($SQL)
01083  |    	__4ern_SQL_rawQuery($SQL,'get()')
01084  +-endfunc

======================
=== xref reports =====
======================

== User functions =================================================================================================
                          Func
Function name             Row     Referenced at Row(s)
========================= ====== ==================================================================================
__4ern_SQL_QueryBuilder_Delete  00137 
__4ern_SQL_QueryBuilder_Update  00062 
__4ern_SQL_QueryBuilder_get  00025 
__4ern_SQL_Query_distinct  00505 
__4ern_SQL_Query_groupBy  00961 
__4ern_SQL_Query_having   00874 
__4ern_SQL_Query_havingBetween  00882 
__4ern_SQL_Query_havingIn  00890 
__4ern_SQL_Query_havingNotBetween  00886 
__4ern_SQL_Query_havingNotIn  00894 
__4ern_SQL_Query_havingNotNull  00902 
__4ern_SQL_Query_havingNull  00898 
__4ern_SQL_Query_insert   00165 
__4ern_SQL_Query_orHaving  00878 
__4ern_SQL_Query_orWhere  00799 
__4ern_SQL_Query_orderBy  01022 
__4ern_SQL_Query_select   00477 
__4ern_SQL_Query_table    00294 
__4ern_SQL_Query_where    00670 
__4ern_SQL_Query_whereBetween  00803 
__4ern_SQL_Query_whereIn  00825 
__4ern_SQL_Query_whereNotBetween  00821 
__4ern_SQL_Query_whereNotIn  00856 
__4ern_SQL_Query_whereNotNull  00864 
__4ern_SQL_Query_whereNull  00860 
__4ern_SQL__QueryBuilder__Orderby  00971 
__4ern_SQL__QueryBuilder__groupBy  00912 
__4ern_SQL__QueryBuilder__limit  00327 
__4ern_SQL__QueryBuilder__select  00369 
__4ern_SQL__QueryBuilder__setTable  01043 
__4ern_SQL__QueryBuilder__setkey  01074 
__4ern_SQL__QueryBuilder__table  00234 
__4ern_SQL__QueryBuilder__where  00539 
__4ern_SQL_rawQueryExpr   01083 

#### indicates that this specific variable only occurs one time in the script.
---- indicates that this specific variable isn't declared with Dim/Local/Global/Const.

== Variables ======================================================================================================
Variable name             Dim   Used in Row(s)
========================= ===== ===================================================================================
#ignorefunc               ----- 00007 00008 00009 00010
#include                  ----- 00001
$ACTION                   ----- 00234 00240 00245 00327 00331 00369 00374 00385 00539 00554 00577 00912 00917 00922 
                                00971 00976 00981 01042 01047
$C1                       ----- 00294 00310 00477 00493 00505 00521
$C2                       ----- 00294 00311 00477 00494 00505 00522
$C3                       ----- 00294 00312 00477 00495 00505 00523
$C4                       ----- 00294 00313 00477 00496 00505 00524
$C5                       ----- 00294 00314 00477 00497 00505 00525
$C6                       ----- 00294 00315 00477 00498 00505 00526
$C7                       ----- 00294 00316 00477 00499 00505 00527
$C8                       ----- 00294 00317 00477 00500 00505 00528
$C9                       ----- 00294 00318 00477 00501 00505 00529
$COLM                     ----- 00062 00070 00071 00091 00092 00094 00105 00107 00165 00174 00179 00185 00186 00191 
                                00192 00193 00194 00195 00197 00221 00223 00234 00254 00255 00259 00294 00299 00300 
                                00309 00369 00406 00407 00411 00427 00428 00432 00477 00482 00483 00492 00505 00510 
                                00511 00520 00670 00675 00676 00691 00695 00696 00698 00711 00715 00723 00724 00726 
                                00773 00775 00788 00790 00799 00800 00803 00811 00818 00821 00822 00825 00832 00834 
                                00846 00853 00856 00857 00860 00861 00864 00865 00874 00875 00878 00879 00882 00883 
                                00886 00887 00890 00891 00894 00895 00898 00899 00902 00903 00912 00928 00961 00962 
                                00971 00991 01021 01034
$HAVING_QUEUE             ----- 00545 00569 00659 00660 00663
$METHODE                  ----- 00369 00380 00391 00397 00418 00539 00557 00583 00588 00591 00670 00703 00732 00781 
                                00795 00803 00808 00811 00815 00818 00825 00832 00834 00837 00843 00846 00850 00853 
                                00860 00861
$P_TABLE                  ----- 01042 01049
$P_TKEY                   ----- 01042 01050
$QUEUE                    ----- 00238 00239 00256 00259 00271 00279 00285 00373 00408 00411 00429 00432 00454 00459 
                                00466 00467 00563 00569 00588 00591 00596 00604 00613 00616 00916 00928 00941 00946 
                                00953 00975 00991 01002 01007 01014
$SET_QUE                  ----- 00539 00555 00562 00568 00670 00703 00732 00781 00795 00803 00811 00818 00825 00837 
                                00853 00860 00861
$SQL                      ----- 00027 00048 00053 00064 00124 00129 00139 00152 00157 00206 00211 00226 00227 00936 
                                00947 00958 01082 01083
$SQL_OPERATOR             ----- 00539 00556 00596 00604 00613 00616
$S_tKey                   ----- 01045 01050 01067 01069
$S_table                  ----- 01044 01049 01056 01057 01058
$String                   ----- 00065 00092 00094 00097 00105 00107 00124 00140 00152 00184 00186 00188 00190 00195 
                                00197 00200 00201 00206 00221 00223 00226 00267 00274 00280 00290 00446 00448 00454 
                                00460 00474 00634 00637 00642 00658 00661 00666 00696 00698 00703 00724 00726 00732 
                                00773 00775 00781 00788 00790 00795 00832 00834 00837 00998 01008 01018
$V1                       ----- 00165 00217 00218 00220 00221 00223 00670 00750 00758 00773 00775 00787 00788 00790 
                                00799 00800 00803 00806 00811 00813 00818 00821 00822 00825 00828 00829 00830 00841 
                                00846 00848 00853 00856 00857 00874 00875 00878 00879 00882 00883 00886 00887 00890 
                                00891 00894 00895 01021 01026 01027 01034
$V2                       ----- 00670 00764 00772 00773 00775 00799 00800 00803 00807 00811 00814 00818 00821 00822 
                                00825 00842 00846 00849 00853 00856 00857 00874 00875 00878 00879 00882 00883 00886 
                                00887 00890 00891 00894 00895
$VAL                      ----- 00062 00100 00104 00105 00107
$WHERE_QUEUE              ----- 00544 00563 00635 00636 00639
$aVALUE                   ----- 00539 00586 00587 00591 00596 00604 00611 00612 00616
$bBetween                 ----- 00564 00570 00595 00597
$bHavingBetween           ----- 00547 00570 00640 00664
$bHavingIn                ----- 00549 00571 00641 00665
$bIn                      ----- 00565 00571 00603 00605
$bWhereBetween            ----- 00546 00564
$bWhereIn                 ----- 00548 00565
$defDatabase              ----- 00342 00346 00351
$element                  ----- 00255 00256 00407 00408 00428 00429 00587 00588 00612 00613 00830 00831 00832 00834
$elemet                   ----- 00279 00280 00459 00460 00636 00637 00660 00661 00946 00947 01007 01008
$from                     ----- 00033 00034 00048
$groupBy                  ----- 00041 00048
$having                   ----- 00042 00048
$i                        ----- 00090 00091 00092 00094 00185 00186 00191 00192 00193 00194 00195 00197 00691 00695 
                                00696 00698 00711 00715 00723 00724 00726
$iColm                    ----- 00071 00077 00081 00089 00090 00676 00682 00690 00710
$isMethode                ----- 00375 00380 00397 00418 00446 00448 00469
$key                      ----- 01073 01075
$limit                    ----- 00039 00048 00329 00334 00340 00346 00352 00359
$orderBy                  ----- 00043 00048
$pLIMIT                   ----- 00327 00333 00334
$ret                      ----- 00053 00054 00272 00273 00274 00800 00801 00822 00823 00857 00858 00861 00862 00865 
                                00866 00875 00876 00879 00880 00883 00884 00887 00888 00891 00892 00895 00896 00899 
                                00900 00903 00904 00962 00963 01034 01035
$select                   ----- 00032 00048
$table                    ----- 00115 00116 00117 00118 00124 00145 00146 00152 00167 00168 00169 00206 00226
$take                     ----- 00445 00446
$where                    ----- 00040 00048 00119 00124 00147 00152
0                         ----- 00034 00054 00077 00079 00083 00090 00091 00092 00094 00102 00104 00116 00118 00146 
                                00168 00181 00185 00186 00191 00192 00220 00239 00271 00273 00300 00302 00399 00420 
                                00454 00466 00483 00485 00511 00513 00635 00659 00682 00684 00691 00696 00698 00711 
                                00715 00724 00726 00740 00752 00766 00801 00807 00809 00814 00816 00823 00829 00842 
                                00844 00849 00851 00858 00862 00866 00876 00880 00884 00888 00892 00896 00900 00904 
                                00941 00963 01002 01026 01028 01035 01061
1                         ----- 00039 00079 00083 00090 00091 00092 00094 00097 00102 00104 00181 00185 00188 00191 
                                00192 00193 00194 00195 00197 00200 00220 00272 00290 00302 00309 00310 00311 00312 
                                00313 00314 00315 00316 00317 00318 00320 00399 00420 00445 00474 00485 00492 00493 
                                00494 00495 00496 00497 00498 00499 00500 00501 00503 00513 00520 00521 00522 00523 
                                00524 00525 00526 00527 00528 00529 00531 00597 00605 00642 00666 00684 00691 00695 
                                00696 00698 00703 00711 00715 00724 00726 00732 00740 00752 00758 00766 00781 00782 
                                00795 00796 00809 00811 00816 00818 00837 00838 00844 00846 00851 00853 00861 00929 
                                00958 00962 01018 01028 01034 01061
2                         ----- 00071 00081 00089 00118 00179 00300 00483 00511 00676 00690 00723 00724 00726 00829
3                         ----- 00710
4                         ----- 00048 00124 00152 00206 00226 00642 00666 00958
@error                    ----- 00034 00054 00116 00146 00168 00273 00801 00823 00858 00862 00866 00876 00880 00884 
                                00888 00892 00896 00900 00904 00963 01035
ACTION                    00234 00327 00369 00539 00912 00971 01043
And                       ----- 00715
ByRef                     ----- 00062
C1                        00294 00477 00505
C2                        00294 00477 00505
C3                        00294 00477 00505
C4                        00294 00477 00505
C5                        00294 00477 00505
C6                        00294 00477 00505
C7                        00294 00477 00505
C8                        00294 00477 00505
C9                        00294 00477 00505
COLM                      00062 00165 00234 00294 00369 00477 00505 00670 00799 00803 00821 00825 00856 00860 00864 
                                00874 00878 00882 00886 00890 00894 00898 00902 00912 00961 00971 01022
Case                      ----- 00077 00081 00089 00249 00265 00332 00339 00390 00396 00417 00439 00578 00585 00594 
                                00602 00610 00623 00647 00682 00690 00710 00738 00806 00813 00828 00841 00848 00927 
                                00934 00986 00996 01048 01055 01066
ContinueLoop              ----- 00717
Count                     ----- 00271 00454 00466 00635 00659 00941 01002
Default                   ----- 00062 00100 00165 00234 00294 00310 00311 00312 00313 00314 00315 00316 00317 00318 
                                00327 00369 00477 00493 00494 00495 00496 00497 00498 00499 00500 00501 00505 00521 
                                00522 00523 00524 00525 00526 00527 00528 00529 00539 00670 00703 00732 00750 00764 
                                00781 00795 00799 00803 00811 00818 00821 00825 00837 00853 00856 00860 00861 00874 
                                00878 00882 00886 00890 00894 00912 00971 01042 01057 01075
Else                      ----- 00093 00099 00106 00196 00222 00258 00410 00431 00447 00590 00598 00606 00615 00697 
                                00725 00738 00774 00783 00789 00833
EndFunc                   ----- 00055 00130 00158 00228 00293 00321 00361 00476 00504 00532 00669 00798 00802 00820 
                                00824 00855 00859 00863 00867 00877 00881 00885 00889 00893 00897 00901 00905 00960 
                                00964 01020 01036 01072 01076 01084
EndIf                     ----- 00095 00103 00108 00109 00182 00198 00212 00224 00260 00275 00303 00304 00336 00354 
                                00400 00412 00421 00433 00449 00486 00487 00514 00515 00566 00572 00592 00600 00608 
                                00617 00699 00718 00727 00742 00753 00767 00776 00791 00797 00810 00817 00835 00839 
                                00845 00852 01029 01059
EndSelect                 ----- 00098 00741 00819 00854
EndSwitch                 ----- 00292 00360 00434 00475 00618 00668 00959 01019 01071
For                       ----- 00090 00185 00191 00255 00279 00407 00428 00459 00587 00612 00636 00660 00691 00711 
                                00830 00946 01007
Func                      ----- 00025 00062 00137 00165 00234 00294 00327 00369 00477 00505 00539 00670 00799 00803 
                                00821 00825 00856 00860 00864 00874 00878 00882 00886 00890 00894 00898 00902 00912 
                                00961 00971 01021 01042 01073 01082
If                        ----- 00034 00070 00100 00116 00146 00168 00174 00179 00239 00240 00254 00256 00259 00271 
                                00273 00299 00300 00310 00311 00312 00313 00314 00315 00316 00317 00318 00333 00340 
                                00374 00380 00397 00406 00408 00411 00418 00427 00429 00432 00444 00454 00482 00483 
                                00493 00494 00495 00496 00497 00498 00499 00500 00501 00510 00511 00521 00522 00523 
                                00524 00525 00526 00527 00528 00529 00554 00555 00556 00557 00562 00568 00586 00588 
                                00591 00595 00596 00603 00604 00611 00613 00616 00635 00659 00675 00695 00723 00750 
                                00764 00772 00787 00807 00814 00829 00831 00842 00849 00917 00928 00941 00976 00991 
                                01002 01026 01049 01050 01056 01067
In                        ----- 00255 00279 00407 00428 00459 00587 00612 00636 00660 00830 00946 01007
Local                     ----- 00027 00064 00065 00139 00140 00167 00238 00329 00342 00373 00375 00445 00446 00448 
                                00544 00545 00546 00547 00548 00549 00916 00936 00975 01044 01045
METHODE                   00369 00539 00670 00803 00825 00860
Next                      ----- 00096 00187 00199 00257 00281 00409 00430 00461 00589 00614 00638 00662 00704 00733 
                                00836 00948 01009
Not                       ----- 01049 01050 01056 01067
Null                      ----- 00027 00064 00139 00329 00340 00375 00380 00469 00546 00547 00548 00549 00595 00603 
                                00640 00641 00664 00665
Or                        ----- 00758
#### P_TABLE              01043
#### P_TKEY               01043
Return                    ----- 00034 00054 00079 00083 00102 00116 00129 00146 00157 00168 00181 00211 00227 00273 
                                00274 00290 00302 00320 00335 00340 00346 00353 00359 00399 00420 00454 00474 00485 
                                00503 00513 00531 00635 00642 00659 00666 00684 00740 00752 00766 00782 00796 00801 
                                00809 00816 00823 00838 00844 00851 00858 00862 00866 00876 00880 00884 00888 00892 
                                00896 00900 00904 00929 00941 00958 00963 01002 01018 01028 01035 01058 01061 01067 
                                01069
SET_QUE                   00539 00670 00803 00825 00860
SQL                       00027 00064 00139 00936 01083
#### SQL_OPERATOR         00539
Select                    ----- 00072 00677 00805 00827
Static                    ----- 00167 00238 00329 00373 00375 00544 00545 00546 00547 00548 00549 00916 00975 01044 
                                01045
#### Static$HAVING_QUEUE  00545
#### Static$LIMIT         00329
Static$QUEUE              00238 00373 00916 00975
#### Static$S_tKey        01046
#### Static$S_table       01045
#### Static$WHERE_QUEUE   00544
#### Static$bHavingBetween  00547
#### Static$bHavingIn     00549
#### Static$bWhereBetween  00546
#### Static$bWhereIn      00548
#### Static$isMethode     00375
#### Static$table         00167
String                    00065 00140 00446 00448
Switch                    ----- 00245 00331 00385 00391 00577 00583 00922 00981 01047
Then                      ----- 00034 00070 00091 00100 00104 00116 00146 00168 00174 00179 00192 00220 00239 00240 
                                00254 00256 00259 00271 00273 00299 00300 00310 00311 00312 00313 00314 00315 00316 
                                00317 00318 00333 00340 00346 00351 00374 00380 00397 00406 00408 00411 00418 00427 
                                00429 00432 00444 00454 00482 00483 00493 00494 00495 00496 00497 00498 00499 00500 
                                00501 00510 00511 00521 00522 00523 00524 00525 00526 00527 00528 00529 00554 00555 
                                00556 00557 00562 00568 00586 00588 00591 00595 00596 00603 00604 00611 00613 00616 
                                00635 00659 00675 00695 00715 00723 00750 00758 00764 00772 00787 00807 00814 00829 
                                00831 00842 00849 00917 00928 00941 00976 00991 01002 01026 01049 01050 01056 01067
To                        ----- 00090 00185 00191 00691 00711
V1                        00165 00670 00799 00803 00821 00825 00856 00874 00878 00882 00886 00890 00894 01022
V2                        00670 00799 00803 00821 00825 00856 00874 00878 00882 00886 00890 00894
#### VAL                  00062
WEnd                      ----- 00468
While                     ----- 00466
__4ern_SQL_Connection     ----- 00444
#### aVALUE               00539
clear                     ----- 00285 00467 00639 00663 00953 01014
#### defDatabase          00342
#### key                  01074
#### pLIMIT               00327
#### take                 00445
== Sort Func Names Within #regions =====================================================================
 --------------- Current sequence  ----------------------------------------------------------- 
0000000025   Func __4ern_SQL_QueryBuilder_get()
0000000055   EndFunc   ;==>__4ern_SQL_QueryBuilder_get
0000000062   Func __4ern_SQL_QueryBuilder_Update(ByRef $COLM, $VAL = Default)
0000000130   EndFunc   ;==>__4ern_SQL_QueryBuilder_Update
0000000137   Func __4ern_SQL_QueryBuilder_Delete()
0000000158   EndFunc   ;==>__4ern_SQL_QueryBuilder_Delete
0000000165   Func __4ern_SQL_Query_insert($COLM, $V1 = Default)
0000000228   EndFunc   ;==>__4ern_SQL_Query_insert
0000000234   Func __4ern_SQL__QueryBuilder__table($ACTION = Default, $COLM = Default)
0000000293   EndFunc   ;==>__4ern_SQL__QueryBuilder__table
0000000294   Func __4ern_SQL_Query_table($COLM = Default, $C1 = Default, $C2 = Default, $C3 = Default, $C4 = Default, $C5 = Default, $C6 = Default, $C7 = Default, $C8 = Default, $C9 = Default)
0000000321   EndFunc   ;==>__4ern_SQL_Query_table
0000000327   Func __4ern_SQL__QueryBuilder__limit($pLIMIT = Default, $ACTION = 'set')
0000000361   EndFunc   ;==>__4ern_SQL__QueryBuilder__limit
0000000369   Func __4ern_SQL__QueryBuilder__select($ACTION = Default, $COLM = Default, $METHODE = 'SELECT')
0000000476   EndFunc   ;==>__4ern_SQL__QueryBuilder__select
0000000477   Func __4ern_SQL_Query_select($COLM, $C1 = Default, $C2 = Default, $C3 = Default, $C4 = Default, $C5 = Default, $C6 = Default, $C7 = Default, $C8 = Default, $C9 = Default)
0000000504   EndFunc   ;==>__4ern_SQL_Query_select
0000000505   Func __4ern_SQL_Query_distinct($COLM, $C1 = Default, $C2 = Default, $C3 = Default, $C4 = Default, $C5 = Default, $C6 = Default, $C7 = Default, $C8 = Default, $C9 = Default)
0000000532   EndFunc   ;==>__4ern_SQL_Query_distinct
0000000539   Func __4ern_SQL__QueryBuilder__where($ACTION = Default, $aVALUE = Default, $METHODE = Default, $SQL_OPERATOR = Default, $SET_QUE = Default)
0000000669   EndFunc   ;==>__4ern_SQL__QueryBuilder__where
0000000670   Func __4ern_SQL_Query_where($COLM, $V1 = Default, $V2 = Default, $METHODE = 'AND', $SET_QUE = Default)
0000000798   EndFunc   ;==>__4ern_SQL_Query_where
0000000799   Func __4ern_SQL_Query_orWhere($COLM, $V1 = Default, $V2 = Default)
0000000802   EndFunc   ;==>__4ern_SQL_Query_orWhere
0000000803   Func __4ern_SQL_Query_whereBetween($COLM, $V1 = Default, $V2 = Default, $METHODE = 'BETWEEN', $SET_QUE = Default)
0000000820   EndFunc   ;==>__4ern_SQL_Query_whereBetween
0000000821   Func __4ern_SQL_Query_whereNotBetween($COLM, $V1 = Default, $V2 = Default)
0000000824   EndFunc   ;==>__4ern_SQL_Query_whereNotBetween
0000000825   Func __4ern_SQL_Query_whereIn($COLM, $V1 = Default, $V2 = Default, $METHODE = 'IN', $SET_QUE = Default)
0000000855   EndFunc   ;==>__4ern_SQL_Query_whereIn
0000000856   Func __4ern_SQL_Query_whereNotIn($COLM, $V1 = Default, $V2 = Default)
0000000859   EndFunc   ;==>__4ern_SQL_Query_whereNotIn
0000000860   Func __4ern_SQL_Query_whereNull($COLM, $METHODE = 'IS NULL', $SET_QUE = Default)
0000000863   EndFunc   ;==>__4ern_SQL_Query_whereNull
0000000864   Func __4ern_SQL_Query_whereNotNull($COLM)
0000000867   EndFunc   ;==>__4ern_SQL_Query_whereNotNull
0000000874   Func __4ern_SQL_Query_having($COLM, $V1 = Default, $V2 = Default)
0000000877   EndFunc   ;==>__4ern_SQL_Query_having
0000000878   Func __4ern_SQL_Query_orHaving($COLM, $V1 = Default, $V2 = Default)
0000000881   EndFunc   ;==>__4ern_SQL_Query_orHaving
0000000882   Func __4ern_SQL_Query_havingBetween($COLM, $V1 = Default, $V2 = Default)
0000000885   EndFunc   ;==>__4ern_SQL_Query_havingBetween
0000000886   Func __4ern_SQL_Query_havingNotBetween($COLM, $V1 = Default, $V2 = Default)
0000000889   EndFunc   ;==>__4ern_SQL_Query_havingNotBetween
0000000890   Func __4ern_SQL_Query_havingIn($COLM, $V1 = Default, $V2 = Default)
0000000893   EndFunc   ;==>__4ern_SQL_Query_havingIn
0000000894   Func __4ern_SQL_Query_havingNotIn($COLM, $V1 = Default, $V2 = Default)
0000000897   EndFunc   ;==>__4ern_SQL_Query_havingNotIn
0000000898   Func __4ern_SQL_Query_havingNull($COLM)
0000000901   EndFunc   ;==>__4ern_SQL_Query_havingNull
0000000902   Func __4ern_SQL_Query_havingNotNull($COLM)
0000000905   EndFunc   ;==>__4ern_SQL_Query_havingNotNull
0000000912   Func __4ern_SQL__QueryBuilder__groupBy($ACTION = Default, $COLM = Default)
0000000960   EndFunc   ;==>__4ern_SQL__QueryBuilder__groupBy
0000000961   Func __4ern_SQL_Query_groupBy($COLM)
0000000964   EndFunc   ;==>__4ern_SQL_Query_groupBy
0000000971   Func __4ern_SQL__QueryBuilder__Orderby($ACTION = Default, $COLM = Default)
0000001020   EndFunc   ;==>__4ern_SQL__QueryBuilder__Orderby
0000001021   Func __4ern_SQL_Query_orderBy($COLM, $V1 = 'asc')
0000001036   EndFunc   ;==>__4ern_SQL_Query_orderBy
0000001042   Func __4ern_SQL__QueryBuilder__setTable($P_TABLE = Default, $P_TKEY = Default, $ACTION = 'set')
0000001072   EndFunc   ;==>__4ern_SQL__QueryBuilder__setTable
0000001073   Func __4ern_SQL__QueryBuilder__setkey($key)
0000001076   EndFunc   ;==>__4ern_SQL__QueryBuilder__setkey
0000001082   Func __4ern_SQL_rawQueryExpr($SQL)
0000001084   EndFunc   ;==>__4ern_SQL_rawQueryExpr
 --------------- New Sequence      ----------------------------------------------------------- 
0000000017   Func __4ern_SQL__QueryBuilder__groupBy($ACTION = Default, $COLM = Default)
0000000065   EndFunc   ;==>__4ern_SQL__QueryBuilder__groupBy
0000000071   Func __4ern_SQL__QueryBuilder__limit($pLIMIT = Default, $ACTION = 'set')
0000000105   EndFunc   ;==>__4ern_SQL__QueryBuilder__limit
0000000112   Func __4ern_SQL__QueryBuilder__Orderby($ACTION = Default, $COLM = Default)
0000000161   EndFunc   ;==>__4ern_SQL__QueryBuilder__Orderby
0000000169   Func __4ern_SQL__QueryBuilder__select($ACTION = Default, $COLM = Default, $METHODE = 'SELECT')
0000000276   EndFunc   ;==>__4ern_SQL__QueryBuilder__select
0000000277   Func __4ern_SQL__QueryBuilder__setkey($key)
0000000280   EndFunc   ;==>__4ern_SQL__QueryBuilder__setkey
0000000286   Func __4ern_SQL__QueryBuilder__setTable($P_TABLE = Default, $P_TKEY = Default, $ACTION = 'set')
0000000316   EndFunc   ;==>__4ern_SQL__QueryBuilder__setTable
0000000322   Func __4ern_SQL__QueryBuilder__table($ACTION = Default, $COLM = Default)
0000000381   EndFunc   ;==>__4ern_SQL__QueryBuilder__table
0000000388   Func __4ern_SQL__QueryBuilder__where($ACTION = Default, $aVALUE = Default, $METHODE = Default, $SQL_OPERATOR = Default, $SET_QUE = Default)
0000000518   EndFunc   ;==>__4ern_SQL__QueryBuilder__where
0000000519   Func __4ern_SQL_Query_distinct($COLM, $C1 = Default, $C2 = Default, $C3 = Default, $C4 = Default, $C5 = Default, $C6 = Default, $C7 = Default, $C8 = Default, $C9 = Default)
0000000546   EndFunc   ;==>__4ern_SQL_Query_distinct
0000000547   Func __4ern_SQL_Query_groupBy($COLM)
0000000550   EndFunc   ;==>__4ern_SQL_Query_groupBy
0000000557   Func __4ern_SQL_Query_having($COLM, $V1 = Default, $V2 = Default)
0000000560   EndFunc   ;==>__4ern_SQL_Query_having
0000000561   Func __4ern_SQL_Query_havingBetween($COLM, $V1 = Default, $V2 = Default)
0000000564   EndFunc   ;==>__4ern_SQL_Query_havingBetween
0000000565   Func __4ern_SQL_Query_havingIn($COLM, $V1 = Default, $V2 = Default)
0000000568   EndFunc   ;==>__4ern_SQL_Query_havingIn
0000000569   Func __4ern_SQL_Query_havingNotBetween($COLM, $V1 = Default, $V2 = Default)
0000000572   EndFunc   ;==>__4ern_SQL_Query_havingNotBetween
0000000573   Func __4ern_SQL_Query_havingNotIn($COLM, $V1 = Default, $V2 = Default)
0000000576   EndFunc   ;==>__4ern_SQL_Query_havingNotIn
0000000577   Func __4ern_SQL_Query_havingNotNull($COLM)
0000000580   EndFunc   ;==>__4ern_SQL_Query_havingNotNull
0000000581   Func __4ern_SQL_Query_havingNull($COLM)
0000000584   EndFunc   ;==>__4ern_SQL_Query_havingNull
0000000591   Func __4ern_SQL_Query_insert($COLM, $V1 = Default)
0000000654   EndFunc   ;==>__4ern_SQL_Query_insert
0000000655   Func __4ern_SQL_Query_orderBy($COLM, $V1 = 'asc')
0000000670   EndFunc   ;==>__4ern_SQL_Query_orderBy
0000000671   Func __4ern_SQL_Query_orHaving($COLM, $V1 = Default, $V2 = Default)
0000000674   EndFunc   ;==>__4ern_SQL_Query_orHaving
0000000675   Func __4ern_SQL_Query_orWhere($COLM, $V1 = Default, $V2 = Default)
0000000678   EndFunc   ;==>__4ern_SQL_Query_orWhere
0000000679   Func __4ern_SQL_Query_select($COLM, $C1 = Default, $C2 = Default, $C3 = Default, $C4 = Default, $C5 = Default, $C6 = Default, $C7 = Default, $C8 = Default, $C9 = Default)
0000000706   EndFunc   ;==>__4ern_SQL_Query_select
0000000707   Func __4ern_SQL_Query_table($COLM = Default, $C1 = Default, $C2 = Default, $C3 = Default, $C4 = Default, $C5 = Default, $C6 = Default, $C7 = Default, $C8 = Default, $C9 = Default)
0000000734   EndFunc   ;==>__4ern_SQL_Query_table
0000000735   Func __4ern_SQL_Query_where($COLM, $V1 = Default, $V2 = Default, $METHODE = 'AND', $SET_QUE = Default)
0000000863   EndFunc   ;==>__4ern_SQL_Query_where
0000000864   Func __4ern_SQL_Query_whereBetween($COLM, $V1 = Default, $V2 = Default, $METHODE = 'BETWEEN', $SET_QUE = Default)
0000000881   EndFunc   ;==>__4ern_SQL_Query_whereBetween
0000000882   Func __4ern_SQL_Query_whereIn($COLM, $V1 = Default, $V2 = Default, $METHODE = 'IN', $SET_QUE = Default)
0000000912   EndFunc   ;==>__4ern_SQL_Query_whereIn
0000000913   Func __4ern_SQL_Query_whereNotBetween($COLM, $V1 = Default, $V2 = Default)
0000000916   EndFunc   ;==>__4ern_SQL_Query_whereNotBetween
0000000917   Func __4ern_SQL_Query_whereNotIn($COLM, $V1 = Default, $V2 = Default)
0000000920   EndFunc   ;==>__4ern_SQL_Query_whereNotIn
0000000921   Func __4ern_SQL_Query_whereNotNull($COLM)
0000000924   EndFunc   ;==>__4ern_SQL_Query_whereNotNull
0000000925   Func __4ern_SQL_Query_whereNull($COLM, $METHODE = 'IS NULL', $SET_QUE = Default)
0000000928   EndFunc   ;==>__4ern_SQL_Query_whereNull
0000000935   Func __4ern_SQL_QueryBuilder_Delete()
0000000956   EndFunc   ;==>__4ern_SQL_QueryBuilder_Delete
0000000971   Func __4ern_SQL_QueryBuilder_get()
0000001001   EndFunc   ;==>__4ern_SQL_QueryBuilder_get
0000001008   Func __4ern_SQL_QueryBuilder_Update(ByRef $COLM, $VAL = Default)
0000001076   EndFunc   ;==>__4ern_SQL_QueryBuilder_Update
0000001082   Func __4ern_SQL_rawQueryExpr($SQL)
0000001084   EndFunc   ;==>__4ern_SQL_rawQueryExpr
== END Sort Func Names Within #Region - #EndRegion =====================================================

