PDA

Ver la Versión Completa : problema con un insert


darkclow_juliga
05-12-2006, 11:30:56
buenas, necesito que alguien me ayude mi problema es le siguiente:
tengo una base de datos en sql server y al querer insertar nuevos datos desde delphi con el siguiente comando

AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQl.Text := 'INSERT into Articulos( Nombre, precio, descripcion) Values('+edit1.text+','+edit2.text+','+edit3.text+')';
adoquery1.ExecSQL


si escribo numeros en los edit me los ingesa sin ningun problema pero cuando escribo caracteres lo que sea es cuando me da error, alguien sabe en que estoy mal??

Bicho
05-12-2006, 11:40:33
Hola, porque no pruebas a pasar los valores por parámetros?? De esta manera:


AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQl.Text := 'INSERT into Articulos( Nombre, precio, descripcion) Values(:vnom, :vpre:, :vdesc)';
AdoQuery1.ParamByName('vnom').asString := edit1.text;
AdoQuery1.ParamByName('vpre').asString := edit2.text;
AdoQuery1.ParamByName('vdesc').asString := edit3.text;
adoquery1.ExecSQL


De ésta forma los parámetros ya se los pasas a la sentencia SQL, con los valores formateados en string, por eso hemos puesto el asString, si quisieras pasarlos a enteros deberias primero, hacer un casta al text del edit (StrToInt(edit1.text)) y en lugar de poner asstring pondrías asInteger.

Espero te sirva.

Saludos

P.d: bienvenido al ClubDelphi