Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-07-20, 15:08


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

Witam, ponownie w sprawie sqlite. mam taki kod

local connect dbConnect("sqlite""test.db")

if connect then
outputDebugString("Po??czono z baz? danych")
else
outputDebugString("Nie uda?o si? po??czy? z baz? danych")
end



function zapis()
for k,v in ipairs(getElementsByType("vehicle")) do
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbQuery(connect"INSERT INTO dane VAULES(?,?,?)"paliwoprzebiegwoda)
end
end
addEventHandler("onResourceStop",resourceRoot,zapis)

function odczyt()
dbQuery(connect"SELECT * FROM dane")
end
addEventHandler("onResourceStart",resourceRoot,odczyt)

function aktualizacja()
for k,v in ipairs(getElementsByType("vehicle")) do
local id getElementData(v"car_id")
        if id then
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbExec(connect"UPADTE dane SET paliwo = "..paliwo..", przebieg = "..przebieg..", woda = "..woda.."" "WHERE id="..id.."")
end
end
end
setTimer(aktualizacja10000)


Chc? aby w trakcie zatrzymania zasobu zapisywa?o dane takie jak przebieg,paliwo,woda ( w pojazdach psp) a po starcie wczytywa?o zapisane dane. Lecz nie zapisuje tych danych. Co mo?e by? ?le?

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Ostatnio zmieniony przez marcin778 2016-07-20, 16:15, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 15:43


Brzysiek

Skrypter pralek






Wiek: 27
Na forum: 5198 dni
Posty: 488
Nick w MP: Brzysiek

Piwa: 1034

Respekt: 360
Respekt: 360Respekt: 360Respekt: 360Respekt: 360

B??d sk?adni:

dbQuery(connect"INSERT INTO dane VALUES(?,?,?)"paliwoprzebiegwoda)

Wszystko pisze w /debugscript 3 :v
I ten zapis b?dzie s?abo dzia?a?. Za ka?dym razem gdy zatrzymasz zas?b zostan? wpisane nowe dane, a powiniene? odwo?ywa? si? do id wpisanych pojazd?w w bazie i aktualizowa? je zapytaniem UPDATE.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 16:20


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
dbQuery(connect"INSERT INTO dane (nazwa_kolumny_paliwo,to_samo_przebieg,to_samo_woda) VALUES(?,?,?)"paliwoprzebiegwoda)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 16:26


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

tamto sobie ogarn??em.

local connect dbConnect("sqlite""test.db")

if connect then
outputDebugString("Po??czono z baz? danych")
else
outputDebugString("Nie uda?o si? po??czy? z baz? danych")
end



function zapis()
for k,v in ipairs(getElementsByType("vehicle")) do
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbQuery(connect"INSERT INTO dane VALUES(?,?,?)"paliwoprzebiegwoda)
end
end
addEventHandler("onResourceStop",resourceRoot,zapis)

function odczyt()
dbQuery(connect"SELECT * FROM dane")
end
addEventHandler("onResourceStart",resourceRoot,odczyt)

function aktualizacja()
for k,v in ipairs(getElementsByType("vehicle")) do
local id getElementData(v"car_id")
        if id then
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbExec(connect"UPADTE dane SET paliwo = "..paliwo..", przebieg = "..przebieg..", woda = "..woda.."")
end
end
end
setTimer(aktualizacja10000)


teraz mam db z dbExec

WARNING:nuaka/baza.lua:33: dbExec failed; (1) near "UPDATE" : syntax error

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 16:37


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
W zapytaniach dbExec nie u?ywa sie "nick="..costam.."nick="
Musisz to zast?pi?:
Zapomniales o id pojazdu gdzie ma to ustawic

dbExec(connect"UPDATE dane SET paliwo=? and  przebieg=? and woda=? WHERE id=?",paliwo,przebieg,woda,id)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 16:51


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

eject, Zaraz przetestuje.

Hmm nie u?ywa si? ?

dbExec(handler"UPDATE pojazdy SET x='"..x.."', y='"..y.."', z='"..z.."', rot='"..rot.."', ca='"..color1.."', cb='"..color2.."', cc='"..color3.."', przebieg='"..przebieg.."', paliwo='"..paliwo.."' WHERE id='"..id.."'")


Fragment systemu pojazd?w YNL :P

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 16:53


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
marcin778, Mo?na u?ywa? lecz jest to obci??enie dla servera oraz to jest wygodniejsze

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:05


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

debuga ze zaktuaalizowano pokazuje ale no tabela w pliku nadal pusta :(

local connect dbConnect("sqlite""test.db")

if connect then
outputDebugString("Po??czono z baz? danych")
else
outputDebugString("Nie uda?o si? po??czy? z baz? danych")
end



function zapis()
for k,v in ipairs(getElementsByType("vehicle")) do
local id getElementData(v"car_id")
    if id then
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbQuery(connect"INSERT INTO dane (paliwo,przebieg,woda, id) VALUES(?,?,?)"paliwoprzebiegwoda,id)
end
end
end
addEventHandler("onResourceStop",resourceRoot,zapis)

function odczyt()
dbQuery(connect"SELECT * FROM dane")
end
addEventHandler("onResourceStart",resourceRoot,odczyt)

function aktualizacja()
for k,v in ipairs(getElementsByType("vehicle")) do
local id getElementData(v"car_id")
        if id then
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbExec(connect"UPDATE dane SET paliwo=? and  przebieg=? and woda=? WHERE id=?",paliwo,przebieg,woda,id)
outputDebugString("Zaktualizowano dane")
end
end
end
setTimer(aktualizacja500)


Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:09


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
Czy pojazd kt?ry ma sie zapisa? napewno posiada Elementdate car_id ?

[ Dodano: 2016-07-20, 17:11 ]
dodaj sobie komende debugow? do funkcji zapis

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:13


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

eject, jakie? pojazdy elementdate car_id maj? bo to pobiera wszystkie pojazdy z mapy.

[ Dodano: 2016-07-20, 17:17 ]
Jak usunalem warunek if id then te? nic. Komend? zrobi?em debug pokazuje, ?e niby zapisuje no ale nie zapisuje ;-;

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:17


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
Mo?e czy paliwo,przebieg,id,woda maj? w tabeli typ INT ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:20


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

INTEGER, a jaki maj? mie? typ ?. Przy NUMERIC sypie db

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:20


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
Masz dobrze bo myslalem ze masz numeric daj mi tw?j ca?y obecny kod

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:22


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

eject,
local connect dbConnect("sqlite""test.db")

if connect then
outputDebugString("Po??czono z baz? danych")
else
outputDebugString("Nie uda?o si? po??czy? z baz? danych")
end



function zapis()
for k,v in ipairs(getElementsByType("vehicle")) do
local id getElementData(v"car_id")
    --if id then
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
dbQuery(connect"INSERT INTO dane (paliwo,przebieg,woda, id) VALUES(?,?,?)"paliwoprzebiegwoda,id)
end
end
--end
addEventHandler("onResourceStop",resourceRoot,zapis)

function odczyt()
dbQuery(connect"SELECT * FROM dane")
end
addEventHandler("onResourceStart",resourceRoot,odczyt)

function aktualizacja()
for k,v in ipairs(getElementsByType("vehicle")) do
local id getElementData(v"car_id")
        --if id then
local paliwo getElementData(v"fuel") or 0
local przebieg getElementData(v"przebieg") or 0
local woda getElementData(v"zapelnienie") or 0
local test dbExec(connect"UPDATE dane SET paliwo=? and  przebieg=? and woda=? WHERE id=?",paliwo,przebieg,woda,id)
if test then
outputDebugString("Zaktualizowano dane")
end
end
end
--setTimer(aktualizacja500)
addCommandHandler("zapisuj",aktualizacja)


Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-07-20, 17:23


eject

kurdebele






Wiek: 30
Na forum: 3659 dni
Posty: 182
Nick w MP: EjecT

Piwa: 2456

Respekt: 85,8

Ostrzeżeń: 60%
ta linijka od zapisywania

[lua]dbQuery(connect, "INSERT INTO dane (paliwo,przebieg,woda, id) VALUES(?,?,?)", paliwo, przebieg, woda,id)[lua]

zamien na

[lua]dbQuery(connect, "INSERT INTO dane (paliwo,przebieg,woda, id) VALUES(?,?,?,?)", paliwo, przebieg, woda,id)[lua]

braklo zapytajnika

Postaw piwo autorowi tego posta
 

 
Tagi: pierwszy :: zapis :: sql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku