How do I check input data from edits that will be posted to a database with delphi? -


i have written database application delphi7. im using adodatabase. using edits input user program doesnt work, checks input data never posts it. have 3 tables name clients receivers , packages, please me. here code:

 'procedure tnewdel.button1click(sender: tobject);   var  name, name2,lname,lname2, smessage,date, date2, clnum,packnum, rcnum, email, email2,  address, address2, cell, cell2, cellnum, cellnum2, price  :string; k, c, c2,countnum, weight, distance, size :integer; rprice:real; ccheck:char; begin              date:= floattostr(datetp.date);             countnum:= 0;             countnum:=countnum + 1;     name:= edtname.text;     lname:= edtlname.text;     smessage:= ' wrong input: ';     address:= edtadd.text;     email:= edtemail.text;     cell:= edtcellnum.text;      name2:=edtname2.text;                                          lname2:=edtlname.text;     cellnum2:=edtcellnum.text;     address2:= edtadd2.text;     email2:= edtemail2.text;     cell2:= edtcellnum2.text;      weight:=sedweight.value;     distance:= seddist.value;     size:= sedsize.value;    k := 1 4                                                                                      begin   date2:= date2+date[k];  end;   if lname= ''         begin                                                                                 showmessage(smessage+ 'last name');         end  else    begin if name= ''     begin          showmessage(smessage+ 'name');     end  else       begin if address= ''     begin          showmessage(smessage+ 'address');     end  else  begin if email= ''     begin      showmessage(smessage+ 'e-mail'); end   else     begin     if cell = ''      begin       showmessage(smessage+ 'cell phone number');             end      else       begin  if cell2 = ''     begin      showmessage(smessage + 'receiver cell number');         end  else  begin        if name2 = ''     begin      showmessage(smessage + 'receiver name');     end  else  begin        if lname2 = ''     begin      showmessage(smessage + 'receiver last name');     end   else  begin        if address2 = ''     begin      showmessage(smessage + 'receiver address');     end  else begin         if email2 = ''     begin      showmessage(smessage + 'receiver cell number');     end  else  begin     if distance=''     begin      showmessage(smessage+ 'distance');     end  else  begin       if size=''     begin       showmessage(smessage+ 'size');     end  else begin         if weight > 35   begin    showmessage('package heavy'); end   else          begin     if distance <= 150         begin          rprice:= distance*3.5;          price:= floattostr(rprice);         end                 else     begin         if distance >150             begin              rprice:= (150*3.5)+((distance-150)*3.5*2);              price:=floattostr(rprice);             end      else begin      if distance = 0     begin     showmessage(smessage + 'distance');     end  else begin ccheck:= 't'; end;  end;   if ccheck = 't' begin         c:= 2 10                     begin                        cellnum:= cellnum+ cell[c];                       end;                         cellnum:= '+27' + cellnum;         c2:= 2 10             begin              cellnum2:= cellnum2 +cell2[c2];             end;      cellnum2:= '+27' + cellnum2 ;  clnum:= 'cl'+ name[1]+lname[1]  + date2 + inttostr(countnum); packnum:='pk' + name[1]+name2[1]+ date2; rcnum:= 'rc'+ name2[1]+lname2[1]+ date2;   adotable1.edit;   adotable1package_number.value:= packnum;   adotable1client_number.value:=clnum;   adotable1name:=name;   adotable1last_name.value:= lname;   adotable1address.value:=address;   adotable1e_mail.value:=email;   adotable1cell_number.value:=cellnum;   adotable1date.value:=date; post; end;  adotable2 begin  insert;   fieldbyname('package_number').value:= packnum;   fieldbyname('receiver_number').value:=rcnum;   fieldbyname('name').value:=name2;   fieldbyname('last_name').value:=lname2;   fieldbyname('address').value:=address2;   fieldbyname('e_mail').value:=email2;   fieldbyname('date').value:=date; post; end;   adotable3     begin      insert;       fieldbyname('price').value:= price;       fieldbyname('package_number').value:= packnum;       fieldbyname('client_number').value:= clnum;       fieldbyname('receiver_number').value:=rcnum;   fieldbyname('weight').value:= weight;   fieldbyname('size').value:=size;   fieldbyname('price').value:= price;   fieldbyname('distance').value:= distance; post;     end;  end;  end; end;  end;  end;   end; end;   end;     end;       end;         end;           end;             end;               end;                 end;                   end; 

i know might not best way so, biggener thats why asking. thanks.

i like

function checkvalues(const avalue, aconst: array of string): string; var   a_index: integer;   a_const: string; begin   result := '';   assert(high(avalue)= high(aconst), 'programmer error checkvalues: value , const should have same amount of elements');   a_index := low(avalue) high(avalue)   begin     if (avalue[a_index] = '')     begin       a_const := aconst[a_index];       if result = ''         result := a_const       else         result := result + ', ' +  a_const;     end;   end; end;   procedure tform.allowsave; var   a_value: string; begin   if finit   begin     a_value := checkvalues([cbchain.text, edname.text, edtaxid.text, edcustomerno.text, reversalwindow.text, editaddress1.text,     editcity.text, cbstate.text, editzip.text, editphone.text, editfax.text, editemail.text, cbpricingtypelu.text],    ['chain','name',  'tax id', 'customer number', 'reversal window', 'address1',     'city', 'state', 'zip', 'phone', 'fax', 'email','pricing type']);       btnsave.enabled := a_value = '';     if btnsave.enabled     begin       statusbar1.simpletext := '';       if not (qryedit.state in [dsinsert, dsedit])         qryedit.edit;     end else       statusbar1.simpletext := 'missing: ' + a_value;   end; end; 

Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -