Page 1 of 1

sql ir float

Posted: 2011 Nov 27 21:31
by aurimasko
tai va susidūriau su bėda.. noriu, kad sql duomenis (host, user, pass, database) krautų iš failo sql.cfg.. na gerai viską krauna, bet jeigu įjungi serverį, tai pirmą mapą būna visiškai neteisingi duomenys, o antrą mapą jau geri. Kodas:

Code: Select all

 public plugin_init(){    new configsDir[64]    get_configsdir(configsDir, 63)    server_cmd("exec %s/sql.cfg", configsDir)    sql_init()} public sql_init(){    new host[64], user[64], pass[64], db[64]     get_cvar_string("amx_sql_host", host, 63)    get_cvar_string("amx_sql_user", user, 63)    get_cvar_string("amx_sql_pass", pass, 63)    get_cvar_string("amx_sql_db", db, 63)     g_SqlTuple = SQL_MakeDbTuple(host, user, pass, db) } 

kita bėda - nesigauna gražinti float (0.1 pvz) reikšmės iš sql:

Code: Select all

         new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)    if(g_SqlTuple == Empty_Handle) {        log_amx(g_Error)    }     new playerip[32]; get_user_ip(id, playerip, 31, 1)    new Handle:Query = SQL_PrepareQuery(SqlConnection, "SELECT * FROM `gags` WHERE `user_ip`='%s'", playerip)       if(!SQL_Execute(Query))    {        SQL_QueryError(Query,g_Error,511)        log_amx(g_Error)    }     new qcoltime = SQL_FieldNameToNum(Query, "time")    new Float:qcoldata = SQL_FieldNameToNum(Query, "data")        new Time = SQL_ReadResult(Query, qcoltime)    new Float:Data = SQL_ReadResult(Query, Float:qcoldata)         
mėto warningus, ir gražina 0.000, nors duomenys sql geri.

Re: sql ir float

Posted: 2011 Nov 27 22:41
by aaarnas
server_exec() po server_cmd.

new Float:qcoldata = SQL_FieldNameToNum(Query, "data")

qcoldata čia yra tiesiog stulpelio numeris. Tau nereikia float čia daryti...

Re: sql ir float

Posted: 2011 Nov 27 23:43
by hleV

Code: Select all

new qcoldata = SQL_FieldNameToNum(Query, "data"); new Float:Data;SQL_ReadResult(Query, qcoldata, Data);