Hi There!
I am facing a problem with jRDC2. I can connect successfully, I can also get back data from DB when there are no parameters in the query, but when I try to send a WHERE clause from the app I get parameter error (attached).
The sub I use:
And finally the config.properties:
Could you please help me out?
Thanks a lot!
I am facing a problem with jRDC2. I can connect successfully, I can also get back data from DB when there are no parameters in the query, but when I try to send a WHERE clause from the app I get parameter error (attached).
B4X:
ResponseError. Reason: java.net.SocketTimeoutException: timeout, Response:
ERROR: java.net.SocketTimeoutException: timeout
ResponseError. Reason: java.net.SocketTimeoutException: connect timed out, Response:
ERROR: java.net.SocketTimeoutException: connect timed out
ResponseError. Reason: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0)., Response: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /rdc. Reason:
<pre> java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).</pre></p><hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.z-SNAPSHOT</a><hr/>
</body>
</html>
ERROR: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 500 java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /rdc. Reason:
<pre> java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).</pre></p><hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.z-SNAPSHOT</a><hr/>
</body>
</html>
ResponseError. Reason: java.net.SocketTimeoutException: connect timed out, Response:
ERROR: java.net.SocketTimeoutException: connect timed out
The sub I use:
B4X:
Sub GetLogin(devid As Int)
Dim su As StringUtils
Dim req As DBRequestManager = CreateRequest
Dim cmd As DBCommand = CreateCommand("login", Array(devid))
Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob)
If j.Success Then
req.HandleJobAsync(j, "req")
Wait For (req) req_Result(res As DBResult)
'work with result
Dim row() As Object =res.Rows.Get(0)
Dim dbpassw As String=row(0)
If txtPassw.text=DecryptText(su.DecodeBase64(dbpassw), "xxxxx") Then
Activity.Finish
StartActivity(Main)
Else
Msgbox("Wrong id or password! Please try again.", "Error")
End If
Else
Log("ERROR: " & j.ErrorMessage)
End If
j.Release
End Sub
And finally the config.properties:
B4X:
#Lines starting with '#' are comments.
#Backslash character at the end of line means that the command continues in the next line.
#DATABASE CONFIGURATION
DriverClass=com.mysql.jdbc.Driver
JdbcUrl=jdbc:mysql://xxxx.xxxx.xx?characterEncoding=utf8
User=xxxx
Password=xxxx
#Java server port
ServerPort=17178
#example of MS SQL Server configuration:
#DriverClass=net.sourceforge.jtds.jdbc.Driver
#JdbcUrl=jdbc:jtds:sqlserver://<server address>/<database>
#example of postegres configuration:
#JdbcUrl=jdbc:postgresql://localhost/test
#DriverClass=org.postgresql.Driver
#SQL COMMANDS
#sql.create_table=CREATE TABLE IF NOT EXISTS animals (\
# id INTEGER PRIMARY KEY AUTO_INCREMENT,\
# name CHAR(30) NOT NULL,\
# image BLOB)
#sql.insert_animal=INSERT INTO animals VALUES (null, ?,?)
#sql.select_animal=SELECT name, image, id FROM animals WHERE id = ?;
#sql.create_table=CREATE TABLE article (col1 numeric(10,4) ,col2 text);
#sql.select=select * from article
#sql.insert=INSERT INTO article VALUES(?, ?)
sql.get_emails=SELECT clientemail FROM clients
sql.login=SELECT devicepassw FROM device WHERE device_id = ?
Could you please help me out?
Thanks a lot!