Spanish Ayuda con AddNonQueryToBatch

Alberto Salinas

Member
Licensed User
Tengo este codigo

B4X:
ProgressDialogShow2("Inserting data...", False)
 Starter.mysql.AddNonQueryToBatch("Insert into  Activaciones values (?,?,?,?,?,?,?,?,?)", Array As Object(KeyTag, DateTime.Date (DateTime.now),Main.IdUsuario, Main.Nombre,Main.MacId,"A",0,20,0 ))
Dim SenderFilter As Object = Starter.mysql.ExecNonQueryBatch("SQL")
 Wait For (SenderFilter) SQL_QueryComplete (Success As Boolean)
Log("NonQuery: " & Success)
 ProgressDialogHide

Jamás desaparece el Cuadro de dialogo, si hace el insert, además que no da un valor en Success nunca, se queda ahí en el wait

Alguien me podría ayudar por favor
 

josejad

Expert
Licensed User
Longtime User
Hola Alberto:

No sé exactamente por qué te está dando ese comportamiento el cuadro de diálogo, y puede que lo voy a comentar no esté relacionado (o sí) con ese problema. Ten en cuenta que ExecNonQueryBatch es para ejecutar muchas instrucciones juntas como una transacción. Para una sóla instrucción (que puede tardar en ejecutarse prácticamente nada, vamos, que ni daría tiempo a que se mostrase el diálogo), deberías usar ExecNonQuery.

saludos,
 

Alberto Salinas

Member
Licensed User
Hola Alberto:

No sé exactamente por qué te está dando ese comportamiento el cuadro de diálogo, y puede que lo voy a comentar no esté relacionado (o sí) con ese problema. Ten en cuenta que ExecNonQueryBatch es para ejecutar muchas instrucciones juntas como una transacción. Para una sóla instrucción (que puede tardar en ejecutarse prácticamente nada, vamos, que ni daría tiempo a que se mostrase el diálogo), deberías usar ExecNonQuery.

saludos,
Buenos Dias, son mis primeros pasos programando aquí, lo hice así, para asegurarme que lo este haciendo, lo tenia anteriormente de la siguiente forma
B4X:
Starter.mysql.ExecNonQuery2("Update Tarjetas Set estado=?, FechaActiva=?,iduser=?, UserActiva=?, idActiva=?,  Nip=?  where ( Tarjeta=? and Estado=0 )", Array As Object(1,DateTime.Date( DateTime.now) ,Main.IdUsuario,Main.Nombre,Main.MacId,TxTClave.Text,KeyTag))
Pero no me sentía cómodo, porque no estaba seguro si siempre se hacia.
 
Top