mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-20 14:19:25 +00:00
21/10/23 - Se quitaron lineas extra y se agrega clase "FileHandler"
This commit is contained in:
@@ -5,8 +5,8 @@ Type=Class
|
|||||||
Version=9.85
|
Version=9.85
|
||||||
@EndOfDesignText@
|
@EndOfDesignText@
|
||||||
#Region Shared Files
|
#Region Shared Files
|
||||||
'#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
|
'#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
|
||||||
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
|
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
|
||||||
'###########################################################################################################
|
'###########################################################################################################
|
||||||
'###################### PULL #############################################################
|
'###################### PULL #############################################################
|
||||||
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
|
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
|
||||||
@@ -94,6 +94,8 @@ Sub Class_Globals
|
|||||||
Private b_envioBD As Button
|
Private b_envioBD As Button
|
||||||
Public Provider As FileProvider
|
Public Provider As FileProvider
|
||||||
Public rutaBDBackup = ""
|
Public rutaBDBackup = ""
|
||||||
|
Private b_importarBD As Button
|
||||||
|
Private p_botones As Panel
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Initialize
|
Public Sub Initialize
|
||||||
@@ -141,8 +143,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
ruta = Starter.ruta
|
ruta = Starter.ruta
|
||||||
Provider.Initialize
|
Provider.Initialize
|
||||||
|
|
||||||
Subs.borraArribaDe100Errores ' Para Websockets
|
' Subs.borraArribaDe100Errores ' Para Websockets
|
||||||
Subs.borraArribaDe600RenglonesBitacora ' Para Websockets
|
' Subs.borraArribaDe600RenglonesBitacora ' Para Websockets
|
||||||
If File.Exists(ruta, "kmt.db") = False Then
|
If File.Exists(ruta, "kmt.db") = False Then
|
||||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||||
End If
|
End If
|
||||||
@@ -168,9 +170,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENCUESTA_MODULO5 (CLIENTE TEXT, ALMACEN TEXT,P1 TEXT, P2 TEXT, P3 TEXT , P4 TEXT, P5 TEXT, P6 TEXT, P7 TEXT, P8 TEXT, P9 TEXT)")
|
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENCUESTA_MODULO5 (CLIENTE TEXT, ALMACEN TEXT,P1 TEXT, P2 TEXT, P3 TEXT , P4 TEXT, P5 TEXT, P6 TEXT, P7 TEXT, P8 TEXT, P9 TEXT)")
|
||||||
|
|
||||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA_CLIENTE (HEC_CLIENTE TEXT, HEC_MODULO TEXT)")
|
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA_CLIENTE (HEC_CLIENTE TEXT, HEC_MODULO TEXT)")
|
||||||
|
c = skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
|
||||||
|
|
||||||
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
|
|
||||||
C.Position = 0
|
C.Position = 0
|
||||||
If c.GetString("CUANTOS") = 0 Then
|
If c.GetString("CUANTOS") = 0 Then
|
||||||
skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)")
|
skmt.ExecNonQuery("INSERT INTO HIST_STAY_OUT(HSO_INI, HSO_FIN) VALUES (0,0)")
|
||||||
@@ -194,7 +194,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
almacen = 0
|
almacen = 0
|
||||||
rutaPreventa = 0
|
rutaPreventa = 0
|
||||||
p_appUpdate.Visible = False
|
p_appUpdate.Visible = False
|
||||||
|
Subs.centraPanel(p_botones, Root.Width)
|
||||||
|
Subs.guardaAppInfo(skmt)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub B4XPage_Appear
|
Sub B4XPage_Appear
|
||||||
@@ -604,7 +605,12 @@ Sub i_engrane_Click
|
|||||||
p_appUpdate.Left = (Root.Width/2) - (p_appUpdate.Width/2)
|
p_appUpdate.Left = (Root.Width/2) - (p_appUpdate.Width/2)
|
||||||
lv_server.Clear
|
lv_server.Clear
|
||||||
lv_server.AddSingleLine("http://keymon.lat:1782")
|
lv_server.AddSingleLine("http://keymon.lat:1782")
|
||||||
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782")
|
If user.Text = "KMTS1" Then
|
||||||
|
lv_server.AddSingleLine("http://10.0.0.205:1782")
|
||||||
|
b_importarBD.Visible = True
|
||||||
|
Else
|
||||||
|
b_importarBD.Visible = False
|
||||||
|
End If
|
||||||
l_server.Text = Starter.server
|
l_server.Text = Starter.server
|
||||||
Subs.panelVisible(p_appUpdate,0,0)
|
Subs.panelVisible(p_appUpdate,0,0)
|
||||||
p_appUpdate.Height = Root.Height
|
p_appUpdate.Height = Root.Height
|
||||||
@@ -647,3 +653,18 @@ Private Sub b_envioBD_Click
|
|||||||
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
|
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
|
||||||
StartActivity(in)
|
StartActivity(in)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_importarBD_Click
|
||||||
|
Private FH As FileHandler
|
||||||
|
FH.Initialize
|
||||||
|
Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
|
||||||
|
File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
|
||||||
|
skmt.Initialize(Starter.ruta,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
|
||||||
|
Private c As Cursor = skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'APP_NAME'")
|
||||||
|
If c.RowCount > 1 Then
|
||||||
|
c.Position = 0
|
||||||
|
ToastMessageShow($"BD de ${c.GetString("APP_NAME")} importada!"$, True)
|
||||||
|
Else
|
||||||
|
ToastMessageShow($"¡BD importada!"$, True)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
162
B4A/FileHandler.bas
Normal file
162
B4A/FileHandler.bas
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=11
|
||||||
|
@EndOfDesignText@
|
||||||
|
'Requiere la librería "ContentResolver" y "FileProvider" o "AppUpdating"
|
||||||
|
'
|
||||||
|
'Copiar este codigo al boton_Click que se quiere que importe la base de datos.
|
||||||
|
'
|
||||||
|
' Private Sub b_importarBD_Click
|
||||||
|
' Private FH As FileHandler
|
||||||
|
' FH.Initialize
|
||||||
|
' Wait For (FH.Load) Complete (Result As LoadResult) 'Abre un fileManager para seleccionar la base de datos a importar.
|
||||||
|
' File.Copy(Result.Dir, Result.FileName, File.DirInternal, "kmt.db") 'Copia la base de datos seleccionada al directorio interno.
|
||||||
|
' Starter.skmt.Initialize(Starter.ruta,"kmt.db", True) 'Reiniciliza la base de datos con la recien importada.
|
||||||
|
' ToastMessageShow("¡BD importada!", False)
|
||||||
|
' End Sub
|
||||||
|
|
||||||
|
Sub Class_Globals
|
||||||
|
#if B4A
|
||||||
|
Private ion As Object
|
||||||
|
Private OldIntent As Intent
|
||||||
|
#end if
|
||||||
|
Type LoadResult (Success As Boolean, Dir As String, FileName As String, RealName As String, Size As Long, Modified As Long, MimeType As String)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Initialize
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#if B4A
|
||||||
|
Public Sub SaveAs (Source As InputStream, MimeType As String, Title As String) As ResumableSub
|
||||||
|
Dim intent As Intent
|
||||||
|
intent.Initialize("android.intent.action.CREATE_DOCUMENT", "")
|
||||||
|
intent.AddCategory("android.intent.category.OPENABLE")
|
||||||
|
intent.PutExtra("android.intent.extra.TITLE", Title)
|
||||||
|
intent.SetType(MimeType)
|
||||||
|
StartActivityForResult(intent)
|
||||||
|
Wait For ion_Event (MethodName As String, Args() As Object)
|
||||||
|
If -1 = Args(0) Then 'resultCode = RESULT_OK
|
||||||
|
Dim result As Intent = Args(1)
|
||||||
|
Dim jo As JavaObject = result
|
||||||
|
Dim ctxt As JavaObject
|
||||||
|
Dim out As OutputStream = ctxt.InitializeContext.RunMethodJO("getContentResolver", Null).RunMethod("openOutputStream", Array(jo.RunMethod("getData", Null)))
|
||||||
|
File.Copy2(Source, out)
|
||||||
|
out.Close
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Load As ResumableSub
|
||||||
|
Dim cc As ContentChooser
|
||||||
|
cc.Initialize("cc")
|
||||||
|
cc.Show("application/octet-stream", "Choose text file")
|
||||||
|
Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
|
||||||
|
Log($"***************************${CRLF}${Dir}${CRLF} ${FileName}"$)
|
||||||
|
Dim res As LoadResult = CreateLoadResult(Success, Dir, FileName)
|
||||||
|
Log($"***************************${CRLF}${res.FileName}${CRLF} ${res}"$)
|
||||||
|
If res.Success Then ExtractInformationFromURI(res.FileName, res)
|
||||||
|
Return res
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub StartActivityForResult(i As Intent)
|
||||||
|
Dim jo As JavaObject = GetBA
|
||||||
|
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
|
||||||
|
jo.RunMethod("startActivityForResult", Array(ion, i))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub GetBA As Object
|
||||||
|
Return Me.As(JavaObject).RunMethod("getBA", Null)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ExtractInformationFromURI (Uri As String, res As LoadResult)
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim resolver As ContentResolver
|
||||||
|
resolver.Initialize("")
|
||||||
|
Dim u As Uri
|
||||||
|
u.Parse(Uri)
|
||||||
|
Dim rs As ResultSet = resolver.Query(u, Null, "", Null, "")
|
||||||
|
If rs.NextRow Then
|
||||||
|
Dim columns As B4XSet = B4XCollections.CreateSet
|
||||||
|
For i = 0 To rs.ColumnCount - 1
|
||||||
|
columns.Add(rs.GetColumnName(i))
|
||||||
|
Next
|
||||||
|
If columns.Contains("_display_name") Then res.RealName = rs.GetString("_display_name")
|
||||||
|
If columns.Contains("_size") Then res.Size = rs.GetLong("_size")
|
||||||
|
If columns.Contains("last_modified") Then res.Modified = rs.GetLong("last_modified")
|
||||||
|
If columns.Contains("mime_type") Then res.MimeType = rs.GetString("mime_type")
|
||||||
|
End If
|
||||||
|
rs.Close
|
||||||
|
|
||||||
|
Catch
|
||||||
|
Log("error extracting information from file provider")
|
||||||
|
Log(LastException)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub CheckForReceivedFiles As LoadResult
|
||||||
|
Dim Activity As Activity = B4XPages.GetNativeParent(B4XPages.MainPage)
|
||||||
|
If IsRelevantIntent(Activity.GetStartingIntent) Then
|
||||||
|
Dim in As Intent = Activity.GetStartingIntent
|
||||||
|
Dim uri As String
|
||||||
|
If in.HasExtra("android.intent.extra.STREAM") Then
|
||||||
|
uri = in.As(JavaObject).RunMethod("getParcelableExtra", Array("android.intent.extra.STREAM"))
|
||||||
|
Else
|
||||||
|
uri = in.GetData
|
||||||
|
End If
|
||||||
|
Dim res As LoadResult = CreateLoadResult(True, "ContentDir", uri)
|
||||||
|
ExtractInformationFromURI(res.FileName, res)
|
||||||
|
Return res
|
||||||
|
End If
|
||||||
|
Return CreateLoadResult(False, "", "")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub IsRelevantIntent(in As Intent) As Boolean
|
||||||
|
If in.IsInitialized And in <> OldIntent And in.Action = in.ACTION_VIEW Then
|
||||||
|
OldIntent = in
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Return False
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#else if B4i
|
||||||
|
Public Sub SaveAs(ParentPage As Object, AnchorView As Object, Text As String) As ResumableSub
|
||||||
|
Dim avc As ActivityViewController
|
||||||
|
avc.Initialize("avc", Array(Text))
|
||||||
|
avc.Show(B4XPages.GetNativeParent(ParentPage), AnchorView)
|
||||||
|
Wait For avc_Complete (Success As Boolean, ActivityType As String)
|
||||||
|
Return Success
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Load (ParentPage As Object, AnchorView As Object) As ResumableSub
|
||||||
|
Dim DocumentPicker As DocumentPickerViewController
|
||||||
|
DocumentPicker.InitializeImport("picker", Array("public.text"))
|
||||||
|
DocumentPicker.Show(B4XPages.GetNativeParent(ParentPage), AnchorView)
|
||||||
|
Wait For Picker_Complete (Success As Boolean, URLs As List)
|
||||||
|
If Success And URLs.Size > 0 Then
|
||||||
|
Return UrlToLoadResult(URLs.Get(0))
|
||||||
|
End If
|
||||||
|
Return CreateLoadResult(False, "", "")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub UrlToLoadResult(url As String) As LoadResult
|
||||||
|
Dim res As LoadResult = CreateLoadResult(IIf(File.Exists(url, ""), True, False), url, "")
|
||||||
|
res.RealName = res.Dir.SubString(res.Dir.LastIndexOf("/") + 1)
|
||||||
|
res.Size = File.Size(res.Dir, "")
|
||||||
|
Return res
|
||||||
|
End Sub
|
||||||
|
#end if
|
||||||
|
|
||||||
|
Private Sub CreateLoadResult (Success As Boolean, Dir As String, FileName As String) As LoadResult
|
||||||
|
Dim t1 As LoadResult
|
||||||
|
t1.Initialize
|
||||||
|
t1.Success = Success
|
||||||
|
t1.Dir = Dir
|
||||||
|
t1.FileName = FileName
|
||||||
|
Return t1
|
||||||
|
End Sub
|
||||||
|
|
||||||
Binary file not shown.
@@ -134,11 +134,12 @@ Library22=okhttputils2
|
|||||||
Library23=phone
|
Library23=phone
|
||||||
Library24=randomaccessfile
|
Library24=randomaccessfile
|
||||||
Library25=rspopupmenu
|
Library25=rspopupmenu
|
||||||
Library26=sql
|
Library26=serial
|
||||||
Library27=togglelibrary
|
Library27=sql
|
||||||
Library28=xui views
|
Library28=togglelibrary
|
||||||
Library29=serial
|
Library29=xui views
|
||||||
Library3=baqrcode
|
Library3=baqrcode
|
||||||
|
Library30=contentresolver
|
||||||
Library4=batteryprogressview
|
Library4=batteryprogressview
|
||||||
Library5=bitmapcreator
|
Library5=bitmapcreator
|
||||||
Library6=byteconverter
|
Library6=byteconverter
|
||||||
@@ -155,12 +156,13 @@ Module14=C_Promos
|
|||||||
Module15=C_TicketsDia
|
Module15=C_TicketsDia
|
||||||
Module16=C_UpdateAvailable
|
Module16=C_UpdateAvailable
|
||||||
Module17=DBRequestManager
|
Module17=DBRequestManager
|
||||||
Module18=FirebaseMessaging
|
Module18=FileHandler
|
||||||
Module19=MAPA_RUTAS
|
Module19=FirebaseMessaging
|
||||||
Module2=B4XMainPage
|
Module2=B4XMainPage
|
||||||
Module20=Starter
|
Module20=MAPA_RUTAS
|
||||||
Module21=Subs
|
Module21=Starter
|
||||||
Module22=Tracker
|
Module22=Subs
|
||||||
|
Module23=Tracker
|
||||||
Module3=BatteryUtilities
|
Module3=BatteryUtilities
|
||||||
Module4=C_Cliente
|
Module4=C_Cliente
|
||||||
Module5=C_Clientes
|
Module5=C_Clientes
|
||||||
@@ -169,9 +171,9 @@ Module7=C_Mapas
|
|||||||
Module8=C_Nota
|
Module8=C_Nota
|
||||||
Module9=C_NoVenta
|
Module9=C_NoVenta
|
||||||
NumberOfFiles=58
|
NumberOfFiles=58
|
||||||
NumberOfLibraries=29
|
NumberOfLibraries=30
|
||||||
NumberOfModules=22
|
NumberOfModules=23
|
||||||
Version=11.5
|
Version=12.5
|
||||||
@EndOfDesignText@
|
@EndOfDesignText@
|
||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Guna V3.1
|
#ApplicationLabel: Guna V3.1
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ ModuleBookmarks2=
|
|||||||
ModuleBookmarks20=
|
ModuleBookmarks20=
|
||||||
ModuleBookmarks21=
|
ModuleBookmarks21=
|
||||||
ModuleBookmarks22=
|
ModuleBookmarks22=
|
||||||
|
ModuleBookmarks23=
|
||||||
ModuleBookmarks3=
|
ModuleBookmarks3=
|
||||||
ModuleBookmarks4=
|
ModuleBookmarks4=
|
||||||
ModuleBookmarks5=
|
ModuleBookmarks5=
|
||||||
@@ -37,6 +38,7 @@ ModuleBreakpoints2=
|
|||||||
ModuleBreakpoints20=
|
ModuleBreakpoints20=
|
||||||
ModuleBreakpoints21=
|
ModuleBreakpoints21=
|
||||||
ModuleBreakpoints22=
|
ModuleBreakpoints22=
|
||||||
|
ModuleBreakpoints23=
|
||||||
ModuleBreakpoints3=
|
ModuleBreakpoints3=
|
||||||
ModuleBreakpoints4=
|
ModuleBreakpoints4=
|
||||||
ModuleBreakpoints5=
|
ModuleBreakpoints5=
|
||||||
@@ -57,9 +59,10 @@ ModuleClosedNodes17=
|
|||||||
ModuleClosedNodes18=
|
ModuleClosedNodes18=
|
||||||
ModuleClosedNodes19=
|
ModuleClosedNodes19=
|
||||||
ModuleClosedNodes2=6,9
|
ModuleClosedNodes2=6,9
|
||||||
ModuleClosedNodes20=1
|
ModuleClosedNodes20=
|
||||||
ModuleClosedNodes21=
|
ModuleClosedNodes21=1
|
||||||
ModuleClosedNodes22=
|
ModuleClosedNodes22=
|
||||||
|
ModuleClosedNodes23=
|
||||||
ModuleClosedNodes3=
|
ModuleClosedNodes3=
|
||||||
ModuleClosedNodes4=1,2,3,5,6,7,10,11
|
ModuleClosedNodes4=1,2,3,5,6,7,10,11
|
||||||
ModuleClosedNodes5=7
|
ModuleClosedNodes5=7
|
||||||
@@ -67,6 +70,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=
|
ModuleClosedNodes7=
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Productos,b_prodMas_Click,464,0,C_Productos,b_prodMenos_Click,456,0,C_Principal,connecta_Click,1624,0,B4XMainPage,Class_Globals,24,0,Main,Globals,25,0,Main,Activity_Create,30,0,Main,Process_Globals,21,0,C_Cliente,Class_Globals,0,0,C_Cliente,B4XPage_Created,399,0,C_Nota,Class_Globals,0,0,C_Nota,B4XPage_CloseRequest,126,0
|
NavigationStack=Subs,guardaAppInfo,1095,0,Subs,traePromoIdDeBD,1086,0,B4XMainPage,i_engrane_LongClick,611,0,B4XMainPage,i_engrane_Click,605,5,B4XMainPage,Class_Globals,92,0,Visual Designer,login.bal,-100,6,B4XMainPage,b_importarBD_Click,662,6,B4XMainPage,lv_server_ItemClick,630,0,B4XMainPage,b_envioBD_Click,640,0,Subs,borraArribaDe100Errores,405,0,B4XMainPage,B4XPage_Created,140,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=20,2,21,12,13,4,8,11,5,10,19,17
|
VisibleModules=21,2,22,12,13,4
|
||||||
|
|||||||
@@ -1096,3 +1096,10 @@ Sub traePromoIdDeBD As Map 'ignore
|
|||||||
c.Close
|
c.Close
|
||||||
Return m
|
Return m
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
'Guarda el nombre y version de la app en CAT_VARIABLES.
|
||||||
|
Sub guardaAppInfo(skmt As SQL) 'ignore
|
||||||
|
skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
|
||||||
|
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
|
||||||
|
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
|
||||||
|
End Sub
|
||||||
Reference in New Issue
Block a user