їPuedo hacer esto en SQLite?
#1

Buenas, estoy en tremendo embole, ya que intentй hacer el registro de mi servidor, pero ya se me fue de las manos y no sй como hacerlo xD
El problema es que yo intento hacer el cуdigo para crear la cuenta, pero son demasiadas variables y pierdo el control de la estructura y me pierdo :v

Mi pregunta serнa la siguiente:
Puedo hacer esto:

Код:
format(query,sizeof(query),"INSERT INTO `datos` (`Nombre` = '%q',`Password` = '%q')",NombreJugador(playerid),Informacion[playerid][pPass]);
En vez de esto:

Код:
format(query,sizeof(query),"INSERT INTO `datos` (`Nombre`,`Password` VALUES ('%q','%q')",NombreJugador(playerid),Informacion[playerid][pPass]);
Por que estoy haciendo esto:
Код:
format(query,1024,"INSERT INTO `datos` (`Nombre`,`Password`,`Baneado`,`Admin`,`Sexo`,`Edad`,`Nivel`,`Experiencia`,`MonedasOro`,`Dinero`,`CuentaBancaria`,`Trabajo`,`Faccion`,`RangoF`,`Policia`,`RangoP`,`PosX`,`PosY`,`PosZ`,`PosR`,`Skin`,`Vida`,`Chaleco`,`VirtualWorld`,`Interior`,`Medicamentos`,`Crack`,`PiezasA`,`Sancion`,`TiempoS`,`Carcel`,`TiempoC`,`Arrestos`,`Casa1`,`Casa2`) \
											VALUES ('%q','%q',0,0,'%i','%i',1,0,0,5000,100,-1,-1,0,0,0,0.0,0.0,0.0,0.0,0,100.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0)",NombreJugador(playerid),Informacion[playerid][pPass]);
Pero me mareo demasiado xD

Desde ya muchas gracias.
Reply
#2

Creo que no se puede, pero pon las variables en otra lнnea, asi como el mнo, aquн un ejemplo:

Quote:

new Query[2000];
new fecha[15], month,day,year;
getdate(year,month,day);
format(fecha,sizeof(fecha),"%i/%i/%i",day,month,year);
format(Query,sizeof(Query),
"INSERT INTO `USERS` (`Nick`,`Pass`,`Reg`,`Eml`,`Ks`,`Dhs`,`Oro`,`Cash` ,`Adm`,`Vip`,`Scw`,`SDl`,`Niv`,`Exp`,`Sex`,`Sk`,`U Sk`,`Obj`,`Ob1`,`Ob2`,`Time`,`Adv`,`ASpw`,`LoD`,`L oP`,`Ds`,`TDs`,`Kx`,`TKx`,`Arsp`,`TAp`,`Clan`,`Ecl `,`pLr`,`pSr`,`pRa`,`Blq`,`NDl`,`Text`,`Casa`,`Mis `,`CMis`,`Col`,`Spw`,`Cct`,`Ccn`) VALUES('%s','%s','%s','%s','0','0','%d','%d','0',' 0','0','0','1','%f','0','%d','0','0','0','0','0',' 0','0','0','0','0','0','0','0','0','0','%s','0','0 ','0','0','1','0','1','0','1','0','0','0','%s','0' )",
DB_Escape(pName(playerid)),
DB_Escape(JugadorInfo[playerid][pPass]),
fecha,
DB_Escape(JugadorInfo[playerid][pMail]),
100000,
300,
0.000000,
299,
"No",
"{FFFFFF}");
db_query(ExLDB, Query);
SendClientMessage(playerid,COLOR_AZUL,"«| Cuenta |» Sexo Masculino Definido.");
JugadorInfo[playerid][pSexo] = 0;
JugadorInfo[playerid][pOro] = 100000;
JugadorInfo[playerid][pCash] = 300;
new MiFecha[16];
format(MiFecha, 16, fecha);
JugadorInfo[playerid][pRegDat] = MiFecha;
ShowPlayerDialog(playerid, SinUso, DIALOG_STYLE_MSGBOX, ""COL_VERDE"«| Registro Completado |»", ""COL_NARANJA"Te has Registrado Y Logueado Correctamente\n\n"COL_VERDE"En el caso que tengas dudas usa el comando /ayuda \no contacta a un Administrador (/admins)", "Aceptar", "");
JugadorInfo[playerid][pLogueado] = 1;
StartIntro(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);

Reply
#3

Ahora resulta que lo hago asн y me da errores :v

PHP код:
format(query,1024,"INSERT INTO `datos` (`Nombre`,`Password`,`Baneado`,`Admin`,`Sexo`,`Edad`,`Nivel`,`Experiencia`,`MonedasOro`,\
                                            `Dinero`,`CuentaBancaria`,`Trabajo`,`Faccion`,`RangoF`,`Policia`,`RangoP`,`PosX`,`PosY`,\
                                            `PosZ`,`PosR`,`Skin`,`Vida`,`Chaleco`,`VirtualWorld`,`Interior`,`Medicamentos`,`Crack`,\
                                            `PiezasA`,`Sancion`,`TiempoS`,`Carcel`,`TiempoC`,`Arrestos`,`Casa1`,`Casa2`) \
                                            VALUES ('%q','%q',0,0,'%i','%i',1,0,0,5000,100,-1,-1,0,0,0,0.0,0.0,0.0,0.0,0,100.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0)"
,NombreJugador(playerid),Informacion[playerid][pPass],Informacion[playerid][pSexo],Informacion[playerid][pEdad]);
db_free_result(db_query(jugadores,query)); 
Код:
Untitled.pwn(387) : error 075: input line too long (after substitutions)
Untitled.pwn(388) : error 017: undefined symbol "No"
Untitled.pwn(389) : warning 217: loose indentation
Untitled.pwn(389) : error 017: undefined symbol "mbreJugador"
Untitled.pwn(389) : error 029: invalid expression, assumed zero
Untitled.pwn(389) : warning 215: expression has no effect
Untitled.pwn(390) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Ayuda plox
Reply
#4

Esto te puede ayudar https://sampforum.blast.hk/showthread.php?tid=473595
Reply
#5

Puedes aсadir esos valores por defecto cuando insertes una cuenta, asн solo deberбs aсadir el nombre, contraseсa y poco mбs. Йchale un ojo a la sentencia DEFAULT, puedes aсadirla cuando creas la tabla o una vez ya creada alterando la tabla.
Reply
#6

Estimado, si vas a hacer un INSERT en donde todas los campos son requeridos no es necesario que tengas que poner los nombre de todos los campos y despues sus respectivos valores, me explico.

Yo puedo hacer 2 tipos de INSERT, el primero es el que haces tu, donde yo doy el nombre de los campos de la tabla, pero esta se usa mas para cuando quieras exceptuar un campo.

EJ: INSERT INTO tabla (campo1,campo2,campo6,campo9) value (1,2,6,9)

*el resto de los campos se le asigna su valor por defecto, si es que acepta nulos, en el caso de que no acepte nulos te arrojara error


El otro INSERT es donde sabes que vas a insertar un registro con todos sus valores, sin exceptuar ninguno

EJ: INSERT INTO tabla VALUES(1,2,3,4,5,6...n)

*en este caso, si tienes una PK, auto incremental debes asignarle el valor NULL
*tambien debes entregar los valores en el mismo orden como tiene los campos de la tabla, y aqui no puedes exceptuar ningun campo!

espero q me hayas entendido
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)