var
sqlstring:string;
begin
ADOQuery1.Close;
adoquery1.SQL.Clear;
sqlString := 'select * from qx where 账号=' + '''' +edt_id.text + ''''+'and';
sqlString := sqlString + '密码=' + '''' + edt_pw.text+ ''''+'and';
sqlString := sqlString + '权限=' + '''' + combo_ca.text+ '''';
adoquery1.SQL.Add(sqlstring);
adoquery1.Open;
end
sqlstring:string;
begin
ADOQuery1.Close;
adoquery1.SQL.Clear;
sqlString := 'select * from qx where 账号=' + '''' +edt_id.text + ''''+'and';
sqlString := sqlString + '密码=' + '''' + edt_pw.text+ ''''+'and';
sqlString := sqlString + '权限=' + '''' + combo_ca.text+ '''';
adoquery1.SQL.Add(sqlstring);
adoquery1.Open;
end
sqlstring:string;
begin
ADOQuery1.Close;
adoquery1.SQL.Clear;
sqlString := 'select * from qx where 账号='+ edt_id.Text +'and';
sqlString := sqlString + ' 密码= '+ edt_pw.Text+'and';
sqlString := sqlString + ' 权限=系统管理员';
adoquery1.SQL.Add(sqlstring);
adoquery1.Open;
if adoquery1.eof then
begin
showmessage('输入有误');
end;
仍然报错 账号没有默认值
Select * from qx where 帐号 = ' + QuotedStr(Edt_id.text)
建议在程序运行中置一个断点,将此sql语句拿出来到db中执行,以保证sql语句没有错误。
账号没有默认值 ,检查一下表中字段名称是否是是‘帐号'。
你还是写成有句好 了
注意and的前面有空格啊
sqlString := sqlString + ' 密码= '+ '''' + edt_pw.Text+ ''''+ ' and ';
sqlString := sqlString + ' 权限='+ '''' +'系统管理员' + '''';
例
SqlString :=Format('select * from qx where 账号=''%s'' and 密码=''%s''',[edt_id.text,edt_pw.text])