[chargeable] MSMySQL - Yet another MySQL-Library (but a FAST one :-))

DonManfred

Expert
Licensed User
Longtime User
It's not the best practice.
On Android it is!
Inform about Activity Lifecycle and search the forum for similar issues.
You´ll always get the answer that a service is the brdt place to handle such things. May it connect to a remotedatabase or may it multiple download with okhttputils.

but you must reconsider some changes in the structure

Sorry, but it´s me who decide what to change and what not. Feel free to write your own connector-wrapper.

I decided to add an error event.

db.ExecutePeparedStatement("")
It now has a TASK parameter which can be used to distinguish multiple calls.
 

MohammadNew

Active Member
Licensed User
Longtime User
very nice library >> fast and clearly . I am happy really

if you can make another one for MS SQL SERVER I will feel happy too.
 

vbmundo

Well-Known Member
Licensed User
On Android it is!
Inform about Activity Lifecycle and search the forum for similar issues.
You´ll always get the answer that a service is the brdt place to handle such things. May it connect to a remotedatabase or may it multiple download with okhttputils.



Sorry, but it´s me who decide what to change and what not. Feel free to write your own connector-wrapper.

I decided to add an error event.


It now has a TASK parameter which can be used to distinguish multiple calls.

I repeat, I'm very happy with your LIB.

But you must undestand that my APP is not like other, I have over 20 diferents Queries and Executions and If you put all in one SUB , then is too much dificult to read.

Regards
 

vbmundo

Well-Known Member
Licensed User
Hi,

I run a single "SELECT * FROM " stattement.

And I receive this error.

B4X:
** Activity (main) Pause, UserClosed = false **
** Service (starter) Create **
** Service (starter) Start **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
MySQL Database not connected!
** Service (httputils2service) Create **
** Service (httputils2service) Start **
** Service (imagedownloader) Create **
** Service (imagedownloader) Start **
Response from server: [{"Android_Link":"http:\/\/www.foro.vb-mundo.com"}]
Sub NOT FOUND: 'schema_status
Connected to Database
** Activity (main) Pause, UserClosed = false **
** Activity (listatablas) Create, isFirst = true **
** Activity (listatablas) Resume **
** Activity (listatablas) Pause, UserClosed = false **
** Activity (estructuras) Create, isFirst = true **
Sub NOT FOUND: 'tables_status
Connected to Database
** Activity (estructuras) Resume **
~w:1002,table20,1769477
~w:1002,table20,1769477
~w:1002,table20,1769477
** Activity (estructuras) Pause, UserClosed = true **
** Activity (listatablas) Resume **
** Activity (listatablas) Pause, UserClosed = false **
** Activity (query) Create, isFirst = true **
** Activity (query) Resume **
ReConnecting
Sub NOT FOUND: 'schema_status
Auto-Reconnect Attempt #1 of 15
Sub NOT FOUND: 'schema_status
Database connection re-established
Sub NOT FOUND: 'schema_status
Can  not connect to the MySQL Database Server. Please check your configuration.
Hostname: mysql5006.Smarterasp.net:r0599935
Username: 9b397a_vbmv
Error: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: Invalid int: "r0599935"'.
Sub NOT FOUND: 'tables_status
not Connected to Database
** Activity (query) Pause, UserClosed = false **
** Activity (resultadoselect) Create, isFirst = true **
Raising.. tables_status
Connected to Database
** Activity (resultadoselect) Resume **
** Activity (resultadoselect) Pause, UserClosed = false **
Reposting event: tables_status
** Activity (resultadoselect) Create, isFirst = false **
SqlException: java.sql.SQLException: Value '12visual-basic-6-parte-1Visual Basic 6 - Parte 1?La suma de dos numeros enteros , espero k les sea de gran ayudaVisual basic vb60|27|0en1sXbDRBqQ�05:100public1
1335215632
2012-04-23
0000-00-00����
142929812810no00yesyesenabled���11000����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������' can not be represented as java.sql.Date
lib:Raising.. tables_onsqlerror()
Raising.. tables_status
Connected to Database
** Activity (resultadoselect) Resume **
SqlException: java.sql.SQLException: Value '12visual-basic-6-parte-1Visual Basic 6 - Parte 1?La suma de dos numeros enteros , espero k les sea de gran ayudaVisual basic vb60|27|0en1sXbDRBqQ�05:100public1
1335215632
2012-04-23
0000-00-00����
142929812810no00yesyesenabled���11000����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������' can not be represented as java.sql.Date
lib:Raising.. tables_onsqlerror()
** Activity (resultadoselect) Pause, UserClosed = true **
Error occurred on line: 34 (ResultadoSELECT)
java.lang.NullPointerException
    at b4a.example.resultadoselect._activity_pause(resultadoselect.java:379)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:702)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:339)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:246)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at anywheresoftware.b4a.ShellBA$2.run(ShellBA.java:115)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4947)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    at dalvik.system.NativeStart.main(Native Method)
sending message to waiting queue (tables_queryresult)
sending message to waiting queue (tables_queryresult)
** Activity (query) Resume **
** Activity (main) Resume **

The Structure of this Table is that

EstructuraVideos.jpg


What's wrong ?
 

DonManfred

Expert
Licensed User
Longtime User
Can not connect to the MySQL Database Server. Please check your configuration.
Hostname: mysql5006.Smarterasp.net:r0599935
Username: 9b397a_vbmv
Error: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: Invalid int: "r0599935"'
 

vbmundo

Well-Known Member
Licensed User
java.lang.NullPointerException

I have this error repited in the most SQL attemps.

Others Attemps ends fine.. with the resulset in a table.

But when the SQL include a DATE or NULL field fails.
 

vbmundo

Well-Known Member
Licensed User
My App is ready, I only delayed by this Issue.

can not be represented as java.sql.Date

This table have DATE with DEFAULT "0000-00-00" and could by a Null Date.

I can promote your Lib and Libs in our Developers Facebook Page (over 4000 Likes), I want to help you, But need that your magnific Lib can be depured.

Regards
 

keirS

Well-Known Member
Licensed User
Longtime User
My App is ready, I only delayed by this Issue.

can not be represented as java.sql.Date

This table have DATE with DEFAULT "0000-00-00" and could by a Null Date.

I can promote your Lib and Libs in our Developers Facebook Page (over 4000 Likes), I want to help you, But need that your magnific Lib can be depured.

Regards

'0000-00-00' is not a NULL date it's a zero date. Java can't handle zero dates but will quite happily deal with NULL dates.
So there is nothing much DonManfred can do about it. What you can do is put 'zeroDateTimeBehaviour= convertToNull' In your connection string to tell the MySql server to convert zero dates to NULL for this connection.
 

vbmundo

Well-Known Member
Licensed User
'0000-00-00' is not a NULL date it's a zero date. Java can't handle zero dates but will quite happily deal with NULL dates.
So there is nothing much DonManfred can do about it. What you can do is put 'zeroDateTimeBehaviour= convertToNull' In your connection string to tell the MySql server to convert zero dates to NULL for this connection.

This is a good solution, because the Connection String use Users Credentials, but I can add in the connectionString this Constant Value.

But I have a lot of different errors... some java.lang.NullPointerException

I will include the 'zeroDateTimeBehaviour= convertToNull' in the Connection and will try.

Regards
 

vbmundo

Well-Known Member
Licensed User
Just a simply question.

The INITIALIZE method required parameters.. But I haven't any to add this settings..

I mean., I only can send the Host, User, Password, and Database... How can I add this new Connections parameters ?

Regards
 

DonManfred

Expert
Licensed User
Longtime User
Last edited:

vbmundo

Well-Known Member
Licensed User
i dont know where you can add it.
Honestly i dont think that you can add additional things there (except the port).

Edit: probably you can extend the host parameter.

B4X:
          mysql_connectionURL = "jdbc:mysql://" + server;
          mysql_connection = DriverManager.getConnection(mysql_connectionURL, username, password);

Maybe this can help
https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html

Ok, But, you're sending to me outside of your lib..

I need to know how can I Add this in your lib.. maybe you can ADD a new Parameter in the INITIALIZE for free aditional parameters.

Because you wrote a MySQL LIB.. this ISSUE of Date = "0000-00-00" It is the easiest thing to find in any database

I'm not talking about a strange and unique situation that only affects to me... this database test is a type Soft Wordpress

Tell me if you can ADD a new Parameter STRING in INITIALIZE to add to the inner Connection String

Regards
 
Top