因为你的Guyuan表中雇员号是数值型,口令是字符型的.
query1.SQL.Add('SELECT 雇员号,口令,权限 from Guyuan');
query1.SQL.Add('where 雇员号='+edit1.Text);
query1.SQL.Add('and 口令='''+edit2.Text+'''');假设edit1.Text的内容是1, edit2.Text的内容是okzjq
那幺通过上面的三句拼出来的最终的SQL语句是:
SELECT 雇员号,口令,权限 from Guyuan
where 雇员号=1 and口令=’ okzjq’; -- 在字符串中两个单引号会作为一个处理.但如果在把第四句改为('where 雇员号='''+edit1.Text)后
SQL语句是这样的:
SELECT 雇员号,口令,权限 from Guyuan
where 雇员号=’1 and口令=’ okzjq’这当然不能执行.如果把第五句改为query1.SQL.Add('and 口令='+edit2.Text+'''');
SQL语句是这样的:
SELECT 雇员号,口令,权限 from Guyuan
where 雇员号=1 and口令= okzjq’这当然也不能执行.