先看具体代码
begin
user2:='admin';
passw2:=trim(edit4.Text);
adoquery2.Close; //使用数据库中的数据判断管理的登陆权限,表明为管理表,需要添加姓名,密码以及编号栏。
adoquery2.SQL.Clear;   try //触发事件,判断是否有管理表存在,不存在建表,添加默认用户密码
   adoquery2.SQL.Add('select * from 管理表 where 姓名='''+user2+'''');
   adoquery2.Open;
   except
   adoquery2.SQL.Clear:
   adoquery2.SQL.Add('creat TABLE 管理表(姓名 char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,密码 char(20) COLLATE Chinese_PRC_CI_AS NOT NULL)');
   adoquery2.Open;
   adoquery2.Close;
   adoquery2.SQL.Clear;
   adoquery2.SQL.Add('insert into 管理表(姓名,密码) values(''admin'',''123456'')');
   adoquery2.Open;
   end;   try//触发事件,判断是否有用户表
   adoquery3.SQL.Add('select * from 用户表 ');
   adoquery3.Open;
   except
   adoquery3.SQL.Clear:
   adoquery3.SQL.Add('creat TABLE 用户表(用户名 char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,密码 char(20) COLLATE Chinese_PRC_CI_AS NOT NULL)');
   adoquery3.Open;
   end;   if passw2=adoquery2.FieldByName('密码').AsString then
   Adminform.show//显示管理员窗口
   else
   MessageBox(0,'密码错误','警告',MB_ICONEXCLAMATION);
end;倒是能运行,但是表根本就没有建起来,说在TABLE附近有语法错误。
PS:小弟的意思是,触发事件的时候,检测数据库中有没有这个表,如果有的话,就直接判断密码是否正确。如果没有,就新建一张表,并赋予默认密码。
各位大神赐教!