Android Question b4xtable.setdata

akinnovation

Member
Licensed User
Longtime User
Hi,
I try b4xtable, but when I call .setdata I have this error
[CODE title="error" highlight="12,13"]Col 0 Trasporto merci
Col 0 Trasporto merci e rel. posizionamento
Col 0 Trasporto rifiuti
Col 0 Trasporto eccezionale
Col 0 Sollevamento
Col 0 Pulizia industriale
Col 0 Ricondizionamento rifiuti
Col 0 Demolizione/smontaggio impianti tecnologici
Col 0 Distacco
Col 0 Trasporto smaltimento e facchinaggio rifiuti
Col 0 Trasporto e smaltimento rifiuti
Error occurred on line: 704 (B4XTable)
android.database.sqlite.SQLiteException: near ")": syntax error (code 1 SQLITE_ERROR): , while compiling: CREATE TABLE data )
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:986)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:593)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:590)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:61)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:33)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1805)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1733)
at anywheresoftware.b4a.sql.SQL.ExecNonQuery(SQL.java:74)
at ak.sopralluogo.b4xtable._createtable(b4xtable.java:2365)
at ak.sopralluogo.b4xtable$ResumableSub_SetData.resume(b4xtable.java:287)
at ak.sopralluogo.b4xtable._setdata(b4xtable.java:220)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:351)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:146)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:80)
at android.view.View.performClick(View.java:7171)
at android.view.View.performClickInternal(View.java:7148)
at android.view.View.access$3500(View.java:802)
at android.view.View$PerformClick.run(View.java:27409)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7642)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:503)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
[/CODE]
and the code for this:
[CODE lang="b4x" highlight="4"]Private Sub copiaS_Click
ServiziScelti.Clear
servizi.Add(serviziC.SelectedItem)
ServiziScelti.SetData(servizi)
[/CODE]
"servizi" is a list declared as public in "class globals" of b4xmainpage
"serviziC"is a b4xcombo and "ServiziScelti" is b4xtable configured in this manner
B4X:
    ServiziScelti.AddColumn("Servizio",ServiziScelti.COLUMN_TYPE_TEXT)
    servizi.Initialize
the table has only one column.
If I watch the "servizi" list before call "setdata" I see the list with the text I wish to see into the table

Any help is welcome.
Thanks
Marco
 
the table has only one column.
Even though your table has one column, the list that makes up the table is expected to be a list of array of strings. Therefore, instead of:
Code:
servizi.Add(serviziC.SelectedItem)
    ServiziScelti.SetData(servizi)
Try this:
Code:
servizi.add(Array(serviziC.SelectedItem))
        
        ServiziScelti.SetData(servizi)
If this does not solve it for you, please post the full code to extract the list and populate the table
 
Upvote 1
Back
Top