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

Wysłany: 2016-10-18, 16:37


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Od razu m?wi? ?e jestem zielony, poniewa? pierwszy raz pisz? cokolwiek z u?yciem sql oraz .db. Co do mojego problemu. Chcia?bym abym po wpisaniu komendy "/dodaj" do pliku.db zosta?y dodane 2 argumenty: nazwa pojazdu oraz jego ID(z gry) oraz po wpisaniu "/pobierz" aby si? te 2 argumenty wy?wietli?y. Prosz? o przerobienie albo podpowied? co jest ?le bo sam robie to pierwszy raz i nie wiem jak by to mia?o wygl?da?(poradnik do sql widzia?em). Mam co? takiego:

local connect dbConnect "sqlite""aukcje.db" )
if connect then
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
else
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.")
    stopResource(getThisResource())
end

function dodajs ()
dbQuery connect"INSERT INTO aukcje ( pojazd, idpojazdu ) VALUES ( ?,?)"pojazdidpojazdu)
end
addCommandHandler("dodajs"dodajs)

function create_table ()
    dbExec connect"CREATE TABLE IF NOT EXISTS aukcje ( pojazd VARCHAR, idpojazdu INTEGER )" )
end
addCommandHandler"stworz"create_table)

function dodajdosql (sourcecommandName)
if isPedInVehicle(sourcethen
local idpo getPedOccupiedVehicle(source)
local pojazd getVehicleName (idpo)
local idpojazdu getElementModel (idpo)


dbQuery connect"UPDATE aukcje SET idpojazdu = ? WHERE pojazd = ?"idpojazdupojazd)
else
return end
end
addCommandHandler("dodaj"dodajdosql)

function pobierz_wynik (source)
local idpo getPedOccupiedVehicle(source)
local pojazd getVehicleName (idpo)
local idpojazdu getElementModel (idpo)
local qh dbQueryconnect"SELECT * FROM aukcje WHERE pojazd = ? WHERE idpojazdu = ?"pojazdidpojazdu)
local result dbPollqh, -)
    for i,row in ipairs (result) do
    outputChatBox"Name: "..row["pojazd"].." ID: "..row["idpojazdu"], source)
    end
end
addCommandHandler"pobierz"pobierz_wynik)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-10-18, 17:17


Brzysiek

Skrypter pralek






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

Piwa: 1034

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

Jeden ma?y b??d w komendzie pobierz. Prawid?owe zapytanie:

SELECT FROM aukcje WHERE pojazd = ? AND idpojazdu = ?

Pami?taj tylko, ?e taki spos?b zapisu mo?e powodowa? powielanie si? danych. Pojazdy maj? te same nazwy i ID.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-10-18, 18:13


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Zmieni?em tak jak powiedzia?e? i teraz nic si? nie dzieje, auto z ID si? nie zapisuje, podczas wpisywania /dodaj, /pobierz nie ma ?adnych b??d?w w db3 ani consoli. Sprawdzi?em czy sama funkcja dzia?a i doda?em linijke:

outputChatBox(" Siedzisz w "..pojazd.. " o id: "..idpojazdu..".",source)

w funkcji "dodajdosql" przed dbQuery i sama funkcja dzia?a wi?c co? jest z dbQuery. jakie? sugestie?

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-10-18, 18:20


Brzysiek

Skrypter pralek






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

Piwa: 1034

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


Więcej informacji znajdziesz w Wikipedii MTA:

dbFree

U?yj tej funkcji na dbQuery i wtedy b?dzie wiadomo co jest nie tak z zapytaniami.

Edit: komenda /dodaj nie tworzy wpis?w w bazie, tylko aktualizuje ID pojazdu. To zamierzone?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-10-18, 18:33


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Brzysiek,
Komenda /dodaj ma doda? pojazd gracza do bazy danych i poda? nazw? pojazdu oraz jego id z gry. Da?em dbFree jednak?e dalej 0 odzewu z db3 i consoli. Teraz co? takiego mam:


local connect dbConnect "sqlite""aukcje.db" )
if connect then
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? powodzeniem.")
else
    outputDebugString"Po??czenie z baz? SQLite zako?czy?o si? nie powodzeniem.")
    stopResource(getThisResource())
end

function dodajs ()
dbQuery connect"INSERT INTO aukcje ( pojazd, idpojazdu ) VALUES ( ?,?)"pojazdidpojazdu)
end
addCommandHandler("dodajs"dodajs)

function create_table ()
    dbExec connect"CREATE TABLE IF NOT EXISTS aukcje ( pojazd VARCHAR, idpojazdu INTEGER )" )
end
addCommandHandler"stworz"create_table)

function dodajdosql (source)
if isPedInVehicle(sourcethen
local idpo getPedOccupiedVehicle(source)
local pojazd getVehicleName (idpo)
local idpojazdu getElementModel (idpo)

outputChatBox(" Siedzisz w "..pojazd.. " o id: "..idpojazdu..".",source)
dbQuery connect"UPDATE aukcje SET idpojazdu = ? WHERE pojazd = ?"idpojazdupojazd)

else
outputChatBox("Aby doda? auto musisz w nim by?!"source)
return end
end
addCommandHandler("dodaj"dodajdosql)

function pobierz_wynik (source)
local idpo getPedOccupiedVehicle(source)
local pojazd getVehicleName (idpo)
local idpojazdu getElementModel (idpo)
local qh dbQueryconnect"SELECT * FROM aukcje WHERE pojazd = ? AND idpojazdu = ?"pojazdidpojazdu)
local result dbPollqh, -)
dbFree qh )
    for i,row in ipairs (result) do
    outputChatBox"Name: "..row["pojazd"].." ID: "..row["idpojazdu"], source)
    end
end
addCommandHandler"pobierz"pobierz_wynik)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-10-18, 18: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

dbFree u?ywamy tylko na dbQuery (element, kt?ry zwraca).

dbQuery connect"INSERT INTO aukcje(pojazd, idpojazdu) VALUES (?, ?)"pojazdidpojazdu)

U?yj tego zapytania by doda? auto do bazy.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-10-18, 19:04


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Brzysiek,
my?la?em ?e co? b?dzie zamiast tego, dzi?ki wielkie :) Piwo dla Ciebie i prosz? zamkn??

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Tagi: zapis :: pobranych :: danych :: 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 » Zapis pobranych danych do SQL 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