Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Duda sobre DBEdit basica (https://www.clubdelphi.com/foros/showthread.php?t=33970)

jrperico2006 21-07-2006 21:10:17

Duda sobre DBEdit basica
 
Este codigo lo que intento es agregar datos ,insertarlos,y borrarlos
Código Delphi [-]
 
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:
Código Delphi [-]
adoquery.sql := cadena;
tambien podrias hacer un:
Código Delphi [-]
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...


La franja horaria es GMT +2. Ahora son las 00:58:37.

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