FieldByName和ParamByName有什么区别
兄弟我在BCB 程序中看到了有关这两个方法的语句,但不知道有什么区别,特别是ParamByName,我不知道它的参数是怎么规定的,我尝试了好几次,都不对,请各位高手给我说说它的参数要怎么设置,有什么要求。下面是我尝试几次出现的错误:
ADOQuery1->Parameters->ParamByName("xue")->Value ="nihao";
运行时发现一个错误:ADOQuery1:Parameter ‘xue’ not found。
我在ADOQuery1的Parameters属性中新建的内容:name为xue,value为sheng。
我将ParamByName中的参数换成已经连接成功的数据库中的列的数据,也出现类似的错误。我连接的表中有一个列的名字为name,其数据为“长春”,
ADOQuery1->Parameters->ParamByName("长春")->Value ="nihao";
运行时错误:ADOQuery1:Parameter ‘长春’ not found。
换成列的名字ADOQuery1->Parameters->ParamByName("name")->Value ="nihao";
运行时错误:ADOQuery1:Parameter ‘name’ not found。
[解决办法]
ParamByName是给参数赋值用的,是参数名称
FieldByName是给字段赋值用的,是字段名
[解决办法]
FieldByName是根据名字获取字段 如 数据库表 学生 设计了个字段 学号
ParamByName是取sql语句中的参数 如 select *from table where no = :studentNo
[解决办法]
sSQL="Select * From test where id=:id";
ADOQuery1->SQL->Add(sSQL);
ADOQuery1->Parameters->ParamByName("id")->Value =3;
ADOQuery1->Open();
[解决办法]
字段名和SQL参数名