1、query1.close;
   query1.sql.add('select * from your_table where 生产日期=to_date('''+FormatDateTime('yyyy-mm-dd',datetimepicker.value)+''',''yyyy-mm-dd'')');
   query1.open;
to_date是ORACLE的函数,将字符串转化为日期,ACCESS中应有类似的函数,FormatDateTime是DELPHI的函数。
总之,最终目的是拼出这样的SQL:
select * from your_table where 生产日期=to_date('2002-07-20','yyyy-mm-dd')。
   也可以考虑用参数的办法。
   query1.sql.add('select * from your_table where 生产日期=:your_date');
   query1.parambyname('your_date').value:=datetimepicker1.value;
   query1.open;2、第二个问题,给.DBF设一个密码,不知道还又没其它好办法。