· 9 years ago · Nov 04, 2016, 11:48 PM
1DELIMITER $$
2 CREATE TABLE `tbl_users` (
3 `id` int(11) NOT NULL AUTO_INCREMENT,
4 `username` varchar(15) NOT NULL,
5 `firstlast_name` varchar(80) DEFAULT NULL,
6 `password` varchar(45) DEFAULT NULL,
7 PRIMARY KEY (`id`)
8)$$
9 DELIMITER ;
10
11 DELIMITER $$
12 DROP FUNCTION IF EXISTS `fun_valida_usuario`$$
13 CREATE FUNCTION `fun_valida_usuario`(p_username VARCHAR(15)
14 , p_password VARCHAR(45) ) RETURNS INT(1)
15 BEGIN
16 DECLARE _ret INT(1) DEFAULT 0;
17 SET _ret = IFNULL((SELECT DISTINCT 1
18 FROM tbl_users
19 WHERE `username` = p_username
20 AND `password` = MD5(p_password)),0);
21 RETURN _ret;
22 END$$
23 DELIMITER ;
24
25DELIMITER $$
26CREATE PROCEDURE `proc_iae_tbl_users`(
27p_opc varchar(1),
28p_id int,
29p_username varchar(15),
30p_firstlast_name varchar(80),
31p_password varchar(45))
32BEGIN
33
34IF ((p_opc = 'I') && (p_username != '') && (p_password != '')) THEN
35
36 INSERT INTO tbl_users (id, username, firstlast_name, `password`) VALUES (p_id, p_username, p_firstlast_name, MD5(p_password));
37
38ELSE
39
40IF ((p_opc = 'E') && (p_id > 0)) THEN
41
42 delete from tbl_users where id = p_id;
43
44ELSE
45
46IF ((p_opc = 'A')) THEN
47
48 UPDATE tbl_users set id = p_id, username = p_username, firstlast_name = p_firstlast_name, `password` = p_password WHERE id = p_id;
49
50ELSE
51SELECT 'Você não pode realizar as alterações' AS Msg;
52END IF;
53END IF;
54END IF;
55
56END$$
57DELIMITER ;
58
59unit Unit1;
60
61interface
62
63uses
64 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
65 Dialogs, WideStrings, DBXMySql, DB, SqlExpr, FMTBcd, Provider, DBClient,
66 StdCtrls, Mask, DBCtrls;
67
68type
69 TForm1 = class(TForm)
70 SQLConnection1: TSQLConnection;
71 ClientDataSet1: TClientDataSet;
72 DataSetProvider1: TDataSetProvider;
73 SQLQuery1: TSQLQuery;
74 SQLQuery1id: TIntegerField;
75 SQLQuery1username: TStringField;
76 SQLQuery1firstlast_name: TStringField;
77 SQLQuery1password: TStringField;
78 DataSource1: TDataSource;
79 ClientDataSet1id: TIntegerField;
80 ClientDataSet1username: TStringField;
81 ClientDataSet1firstlast_name: TStringField;
82 ClientDataSet1password: TStringField;
83 InsertUser: TButton;
84 Edit1: TEdit;
85 Edit2: TEdit;
86 proc_iae_tbl_users: TSQLStoredProc;
87 proc_iae_tbl_usersMsg: TStringField;
88 Edit3: TEdit;
89 Edit4: TEdit;
90 Edit5: TEdit;
91 VerifyLogin: TButton;
92 Label1: TLabel;
93 Label2: TLabel;
94 SQLStoredProc1: TSQLStoredProc;
95 SQLStoredProc1Value: TIntegerField;
96 Label3: TLabel;
97 DBEdit1: TDBEdit;
98 DataSource2: TDataSource;
99 SQLQuery2: TSQLQuery;
100 SQLQuery2Valor: TIntegerField;
101 Label4: TLabel;
102 DBEdit2: TDBEdit;
103 DataSource3: TDataSource;
104 procedure Button1Click(Sender: TObject);
105 procedure Button2Click(Sender: TObject);
106 private
107 { Private declarations }
108 public
109 { Public declarations }
110 end;
111
112var
113 Form1: TForm1;
114
115implementation
116
117{$R *.dfm}
118
119procedure TForm1.InsertUserClick(Sender: TObject);
120begin
121 proc_iae_tbl_users.Close;
122 proc_iae_tbl_users.ParamByName('p_opc').Value:= 'I';
123 proc_iae_tbl_users.ParamByName('p_username').Value:= Edit1.Text;
124 proc_iae_tbl_users.ParamByName('p_firstlast_name').Value:= Edit2.Text;
125 proc_iae_tbl_users.ParamByName('p_password').Value:= Edit3.Text;
126 proc_iae_tbl_users.ExecProc;
127end;
128
129procedure TForm1.VerifyLoginClick(Sender: TObject);
130begin
131 // Aqui deve ficar o código para logar e verificar o login
132end;
133
134end.