SQLString :='select * from user_master where a=:a and b=:b'; sql.add(SQLString); parameters.ParamByName('a').Value:=trim(combobox1.Text); parameters.ParamByName('b').Value:=trim(edit1.Text); 这是判断用户名,密码是否对的代码,其中SQL语句中:a=:a and b=:b=: 这个符号怎么解释?
SQLString :='select * from user_master where a=:a and b=:b'; sql.add(SQLString); parameters.ParamByName('a').Value:=trim(combobox1.Text); parameters.ParamByName('b').Value:=trim(edit1.Text);where a=:a and b=:b // :a和 :b就是参数,需要在执行语句前将参数传入parameters.ParamByName('a').Value:=trim(combobox1.Text); parameters.ParamByName('b').Value:=trim(edit1.Text); 这两句就是给参数:a和:b传入参数的,分别把combobox1.Text和edit1.Text传给a和b语句也可以直接写成这样SQLString :='select * from user_master where a='''+trim(combobox1.Text)+''' and b='''+trim(edit1.Text)+''''; sql.add(SQLString);
这样做好处是,语句看起来变得简洁,赋值时对一些类型变换也不容易出错
SQL语法没有这样的用法,是D本身有这种写法的
SQLString :='select * from user_master where a=:a and b=:b';
sql.add(SQLString);
parameters.ParamByName('a').Value:=trim(combobox1.Text);
parameters.ParamByName('b').Value:=trim(edit1.Text);where a=:a and b=:b // :a和 :b就是参数,需要在执行语句前将参数传入parameters.ParamByName('a').Value:=trim(combobox1.Text);
parameters.ParamByName('b').Value:=trim(edit1.Text);
这两句就是给参数:a和:b传入参数的,分别把combobox1.Text和edit1.Text传给a和b语句也可以直接写成这样SQLString :='select * from user_master where a='''+trim(combobox1.Text)+''' and b='''+trim(edit1.Text)+'''';
sql.add(SQLString);