PDA

Ver la Versión Completa : Duda sobre DBEdit basica


jrperico2006
21-07-2006, 21:10:17
Este codigo lo que intento es agregar datos ,insertarlos,y borrarlos


TFrmVig = class(TForm)
lblRFC: TLabel;
lblDerecho: TLabel;
lblNombre: TLabel;
lblDomicilio: TLabel;
lblCP: TLabel;
lblTelefono: TLabel;
lblFecha: TLabel;
DBRfc: TDBEdit;
DBNombre: TDBEdit;
DBDomicilio: TDBEdit;
DBTelefono: TDBEdit;
DBCP: TDBEdit;
DBComboDerecho: TDBComboBox;
DBFecha: TDBEdit;
BtnAgrega: TButton;
BtnGuardar: TButton;
BtnImprimir: TButton;
BtnBorra: TButton;
BtnSalir: TButton;
DBNavega: TDBNavigator;
ADOConxAlmacen: TADOConnection;
ADOQDerecho: TADOQuery;
DataDerecho: TDataSource;
ADOTbDerecho: TADOTable;
ADODstDerecho: TADODataSet;
Label5: TLabel;
BtnModifica: TButton;
ADOTbDerechoRFC: TWideStringField;
ADOTbDerechoNOMBRE: TWideStringField;
ADOTbDerechoDOMICILIO: TWideStringField;
ADOTbDerechoTELEFONO: TWideStringField;
ADOTbDerechoCP: TWideStringField;
ADOTbDerechoOCUPACION: TWideStringField;
ADOTbDerechoDERECHO: TWideStringField;
ADOTbDerechoFECHA: TDateTimeField;
procedure BtnSalirClick(Sender: TObject);
procedure BtnModificaClick(Sender: TObject);
procedure BtnBorraClick(Sender: TObject);
procedure BtnAgregaClick(Sender: TObject);
procedure TFrmVig.BtnAgregaClick(Sender: TObject);
var
a,b,c,d,e,f,g:String;
begin

a:=DBRfc.EditText;
b:=DBComboDerecho.SelText;
c:=DBNombre.EditText ;
d:=DBDomicilio.EditText;
e:=DBTelefono.EditText;
f:=DBCP.EditText;
g:=DBFecha.EditText;
ADOQDerecho.Open;
ADOQDerecho.Last;
ADOQDerecho.Prior;
ADOQDerecho.SQL.Clear;
ADOQDerecho.SQL.Add(‘INSERT INTO derecho (RFC,DERECHO,NOMBRE,DOMICILIO,TELEFONO,CP,FECHA)VALUES (‘+a+’,’+b+’,’+c+’,’+d+’,’+e+’,’+f+’,’+g+’)’); {Este agrega ala base de datos perome manda error de sintaxis }
ADOQDerecho.ExecSQL;
ADOQDerecho.Close; end;
procedure TFrmVig.BtnBorraClick(Sender: TObject);
begin
ADOTbDerecho.Open;
ADOQDerecho.Last;
ADOQDerecho.SQL.Clear;
ADOQDerecho.SQL.Add(‘DELETE RFC,DERECHO,NOMBRE,DOMICILIO,TELEFONO FROM derecho’);
ADOQDerecho.SQL.Add(‘WHERE RFC =:Rfc ‘ );
{No me permite borrar me dice error de sintaxis de delete }
ADOQDerecho.ExecSQL;
ADOTbDerecho.Refresh;
ADOTbDerecho.Close;
end;
procedure TFrmVig.BtnModificaClick(Sender: TObject);
begin
ADOQDerecho.SQL.Add(‘UPDATE derecho’);
ADOQDerecho.SQL.Add(‘SET RFC =:RFC, NOMBRE = :NOMBRE,DOMICILIO = :DOMICILIO,TELEFONO=:TELEFONO,CP=:CP,OCUPACION=:OCUPACION,DERECHO=:DERECHO,FECHA=:FECHA’);
ADOQDerecho.SQL.Add(‘WHERE RFC= :RFC’); {Error de sintaxis}
ADOQDerecho.ExecSQL;
ADOQDerecho.Close;
end;

Me manda errores de ese tipo.
-Error de sintaxis del Insert,
-Error de de delete me falta algo en los parametros es
como pueden ver una conexion ADO
-Modificar:confused:

droguerman
21-07-2006, 21:39:37
a primera vista parecieran que faltan comillas
creo que para iniciar es mas facil construir las consultas en strings, y luego ejecutarlas:

adoquery.sql := cadena;

tambien podrias hacer un:

inputbox('', '', adoquery.sql);

copiar la consulta que te da y ejecutarla sobre el gestor de BD.

luisgutierrezb
21-07-2006, 22:05:41
a primera vista veo que en las consultas haces referencia a uno mas parametros (p. ej :RFC) pero nunca le das un valor...