问题
I am using corona to develop my app. What am i trying to achieve here is to have 10 textbox for users to key in the value. After keying the value the data will store into sqlite once the user press submit.
The code below have 10 loops and it is for the textbox. i have no problem displaying the textbox but my problem here is i am unable to store the value into sqlite database. Once i press submit i have no error at all but it just simply wont update the database.
local amt_padding = 4800
EBASbox1_label = display.newImage("img/scene15/box1.png")
EBASbox1_label.x = 360
EBASbox1_label.y = 50
EBASbox1_label.width = 680
EBASbox1_label.height = 60
scrollView:insert( EBASbox1_label )
EBASbox2_label = display.newImage("img/scene15/box2.png")
EBASbox2_label.x = 360
EBASbox2_label.y = 180
EBASbox2_label.width = 680
EBASbox2_label.height = 140
scrollView:insert( EBASbox2_label )
for i = 1, 10 do
table_bg = display.newImage("img/scene15/table.png")
table_bg.x = 370
table_bg.y = 100 + (i * 450)
table_bg.width = 700
table_bg.height = 500
scrollView:insert( table_bg )
sno_text = display.newText( "",450,470,550,280, native.systemFont, 24 )
sno_text.y = 10 + (i * 450)
sno_text:setFillColor(0,0,0)
sno_text.text = tostring(i)
scrollView:insert( sno_text )
question_text = display.newText( "",300,470,550,250, native.systemFont, 24 )
question_text.y = 50 + (i * 450)
question_text:setFillColor(0,0,0)
question_text.text = ebas_que[i]
scrollView:insert( question_text )
assessment_text = display.newText( "",300,470,550,250, native.systemFont, 24 )
assessment_text.y = 290 + (i * 450)
assessment_text:setFillColor(0,0,0)
assessment_text.text = assessmentArr[i]
scrollView:insert( assessment_text )
local ebasRating_Arr = display.newGroup()
local function textListener( event )
if ( event.phase == "began" ) then
elseif ( event.phase == "ended" or event.phase == "submitted" ) then
-- Output resulting text from "defaultField"
print( event.target.text )
elseif ( event.phase == "editing" ) then
print( event.newCharacters )
print( event.oldText )
print( event.startPosition )
print( event.text )
end
end
-- Create text field
ebasRating_Arr = native.newTextField( 640, 150 + (i * 450), 100, 100 )
ebasRating_Arr.inputType = "number"
ebasRating_Arr:addEventListener( "userInput", textListener )
ebasRating_Arr.font = native.newFont( native.systemFontBold, 50 )
scrollView:insert(ebasRating_Arr )
end
The below is my code for inserting textbox data into database.
function saveResults()
local q = [[UPDATE EBAS_DEP_POST SET rating1=']]..ebasRating_Arr[1] .. [[',rating2=']] .. ebasRating_Arr[2] .. [[',rating3=']] .. ebasRating_Arr[3] .. [[',rating4=']] .. ebasRating_Arr[4] .. [[',rating5=']] .. ebasRating_Arr[5] .. [[',rating6=']] .. ebasRating_Arr[6] .. [[',rating7=']] .. ebasRating_Arr[7] .. [[',rating8=']] .. ebasRating_Arr[8] .. [[',rating9=']].. ebasRating_Arr[9] .. [[',rating10=']].. ebasRating_Arr[10].. [[',rating11=']].. amtRating_Arr[1] .. [[',rating12=']] .. amtRating_Arr[2] .. [[',rating13=']] .. amtRating_Arr[3] .. [[',rating14=']] .. amtRating_Arr[4] .. [[',rating15=']] .. amtRating_Arr[5] .. [[',rating16=']] .. amtRating_Arr[6] .. [[',rating17=']] .. amtRating_Arr[7] .. [[',rating18=']] .. amtRating_Arr[8] .. [[',rating19=']] .. amtRating_Arr[9] .. [[',rating20=']] .. amtRating_Arr[10] .. [[',rating21=']].. amtRating_Arr[11] .. [[',rating22=']] .. amtRating_Arr[12] .. [[',rating23=']] .. amtRating_Arr[13] .. [[',rating24=']] .. amtRating_Arr[14] .. [[',rating25=']] .. amtRating_Arr[15] .. [[',rating26=']] .. amtRating_Arr[16] .. [[',rating27=']] .. amtRating_Arr[17] .. [[',rating28=']] .. amtRating_Arr[18] .. [[',rating29=']] .. amtRating_Arr[19] .. [[',rating30=']] .. amtRating_Arr[20] .. [[',ebas_score=']] .. ebasScore ..[[',amt_score=']] .. amtScore .. [['WHERE id=']].. _G.EBAS_ID..[[';]]
db:exec( q )
print(db:errcode(), db:errmsg())
end
Hope you can help! thanks in advance :D
来源:https://stackoverflow.com/questions/48455857/corona-unable-to-submit-value-into-sqlite-database