Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Error al insertar registro en SQLserver2000 (https://www.clubdelphi.com/foros/showthread.php?t=46020)

BlueSteel 20-07-2007 23:56:19

Error al insertar registro en SQLserver2000
 
Hola amigos.. tengo una la siguiente pregunta...

estoy tratando de insertar un registro en una tabla de SQLserver... a la cual realice la sgte sentencia


Código Delphi [-]
AQ_Edit.Close;
AQ_Edit.SQL.Clear;
AQ_Edit.SQL.Add('Insert Into Socio(Soc_Rut, Soc_Nombres, Soc_Apellidos, Soc_Foto, Soc_FecNac, Soc_Sexo, Soc_Ficha, Soc_Tipo, Soc_Calidad, Soc_Direccion, Soc_Poblacion');
AQ_Edit.SQL.Add('Soc_Comuna, Soc_Telefono, Soc_Celular, Soc_Email, Soc_Empresa, Soc_DirEmp, Soc_PobEmp, Soc_ComEmp, Soc_TelEmp, Soc_Alergico, Soc_Contacto, Soc_TelCont, Soc_Observacion)');
AQ_Edit.SQL.Add('Values (:v01, :v02, :v03, :v04, :v05, :v06, :v07, :v08, :v09, :v10, :v11, :v12, :v13, :v14, :v15, :v16, :v17, :v18, :v19, :v20, :v21, :v22, :v23, :v24)');
AQ_Edit.Parameters[0].Value  := vRut.Text;
AQ_Edit.Parameters[1].Value  := vNom.Text;
AQ_Edit.Parameters[2].Value  := vApe.Text;
AQ_Edit.Parameters[3].Value :=Concat('D:\Sistemas\GYM\Fotos\',AnsiReplaceStr(vRut.Text,'.',''),'.jpg');
vFoto.Picture.SaveToFile('D:\Sistemas\GYM\Fotos\'+AnsiReplaceStr(vRut.Text,'.','')+'.jpg');
AQ_Edit.Parameters[4].Value  := DateToStr(vFNac.Date);
AQ_Edit.Parameters[5].Value  := vSex.ItemIndex;
AQ_Edit.Parameters[6].Value  := vFic.Text;
AQ_Edit.Parameters[7].Value  := vTSoc.ItemIndex;
AQ_Edit.Parameters[8].Value  := vCal.ItemIndex;
AQ_Edit.Parameters[9].Value  := vDir.Text;
AQ_Edit.Parameters[10].Value  := vPob.Text;
AQ_Edit.Parameters[11].Value := vCom.Text;
AQ_Edit.Parameters[12].Value := vTel.Text;
AQ_Edit.Parameters[13].Value := vCel.Text;
AQ_Edit.Parameters[14].Value := vMail.Text;
AQ_Edit.Parameters[15].Value := vEmp.Text;
AQ_Edit.Parameters[16].Value := vDirE.Text;
AQ_Edit.Parameters[17].Value := vPobE.Text;
AQ_Edit.Parameters[18].Value := vComE.Text;
AQ_Edit.Parameters[19].Value := vTelE.Text;
AQ_Edit.Parameters[20].Value := vAler.Text;
AQ_Edit.Parameters[21].Value := vCon.Text;
AQ_Edit.Parameters[22].Value := vTelC.Text;
AQ_Edit.Parameters[23].Value := vObs.Text;
AQ_Edit.ExecSQL;



el error que me da es
'Access violation at address 77c1809E in module 'msvcrt.dll'.
despues me aparece el error 'Linea 2: sintaxis incorrect cerca de 'Soc_Comuna

he tratado de sacar el error pero no se donde.. esta... mi problema es que utilizo varios campos, entonces para no extender tanto las lineas quiero hacerlos de esa forma.. pero no he podido ver como seria...

al cambiar parte de la sentencia por el sgte codigo funciona bien.. .

Código Delphi [-]
AQ_Edit.SQL.Add('Insert Into Socio');
AQ_Edit.SQL.Add('Values (:v01, :v02, :v03, :v04, :v05, :v06, :v07, :v08, :v09, :v10, :v11, :v12, :v13, :v14, :v15, :v16, :v17, :v18, :v19, :v20, :v21, :v22, :v23, :v24)');
AQ_Edit.Parameters[0].Value  := vRut.Text;
AQ_Edit.Parameters[n].Value  := vObs.Text;

si me pueden indicar porque me señala error.. se los agradecería..

luisgutierrezb 21-07-2007 00:45:45

para acortar las lineas, el error que veo es este:

Código Delphi [-]
//en el fin de la primera linea
, Soc_Poblacion');
//e inicio de la segunda
'Soc_Comuna,

y la coma de de Soc_poblacion??? porque te lo interpreta como Soc_PoblacionSoc_Comuna

nuk3zito 21-07-2007 00:48:59

lo mismo en interbase y en SQL Server
 
te falta una coma...

Código:

AQ_Edit.SQL.Add('Insert Into Socio(Soc_Rut, Soc_Nombres, Soc_Apellidos, Soc_Foto, Soc_FecNac, Soc_Sexo, Soc_Ficha, Soc_Tipo, Soc_Calidad, Soc_Direccion, Soc_Poblacion');
justo después de Soc_Poblacion (antes de cerrar la comilla simple)

Saludos.

BlueSteel 24-07-2007 17:54:54

que bruto que soy... :D :D :D sabia que la instruccion tenia una coma.. pero la borre por que un amigo me habia dicho que no era necesaria....
ok.. gracias a todos


La franja horaria es GMT +2. Ahora son las 19:30:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi