box1.Text = '按编号' then begin dm1.ADOFree.SQL.Add('where NumberNO=:NumberNO and'); dm1.ADOFree.Parameters.ParamByName('NumberNO').Value := edit1.Text; end else if combobox1.Text = '按价格' then begin try strtoint(edit1.Text); except showmessage('价格应该为数字!'); exit; end; dm1.ADOFree.SQL.Add('where price=:price and'); dm1.ADOFree.Parameters.ParamByName('price').Value := strtoint(edit1.Text); end else if combobox1.Text = '按购买人' then begin dm1.ADOFree.SQL.Add('where SaleMan=:SaleMan and'); dm1.ADOFree.Parameters.ParamByName('SaleMan').Value := edit1.Text; end else if combobox1.Text = '按类别' then begin dm1.ADOFree.SQL.Add('where Class=:Class and'); dm1.ADOFree.Parameters.ParamByName('Class').Value := edit1.Text; end else begin dm1.ADOFree.SQL.Add('where'); end; dm1.ADOFree.SQL.Add('flag=:flag'); dm1.ADOFree.Parameters.ParamByName('flag').Value := 1; dm1.ADOFree.Prepared; dm1.ADOFree.ExecSQL; dm1.ADOFree.Active:=false; dm1.ADOFree.Active:=true; dm1.ADOFree.Close;是先将ADOFree关闭。 dm1.ADOFree.SQL.Clear;清空Sql语句。 dm1.ADOFree.SQL.Add('select * from data');添加一条Sql语句。
if combobox1.Text = '按名称' then 当选了按名称查询的条件时产生下面的作用。dm1.ADOFree.SQL.Add('where Name=:Name and');添加查询的条件,A dm1.ADOFree.Parameters.ParamByName('Name').Value := edit1.Text;设置变量参数。完整的Sql语句将是“Select * from Data where Name=”+ Name +“ and ”这样后面还可以接上其它的查询语句。Name是一个变量,接受来自用户输入选择查询类型。And后面接上查询条件。 dm1.ADOFree.ExecSQL;执行Sql语句。 dm1.ADOFree.Active:=false;激活设置为假 dm1.ADOFree.Active:=True;激活设置为真。可以实现数据刷新效果。 如下图所示:
4.4 数据的备份与恢复 在本系统中数据的备份与恢复虽然没有界面显示,但是他的功能是不可以乎似的在设计该功能时参考很多书籍都无法得到正确的解决方法,其他书籍中只是谈到了SqlServer的数据备份与恢复,我们这里要求的是对Access 2000数据库进行数据库的备份与恢复,在本系统中使用的方法,是物理的方法,就是将本系统的数据库文件复制到另一指定的文件夹中。当需要恢复时,只需要将备份的文件复新复制回本系统中即可。这是数据备份与恢复的原理。下面的代码分析将有详细的说明。下面是数据备份的代码说明。 var MyFileName: string;首先声明一个String字符型变量MyFileName。 MyFileName := '';赋空字符串的值给变量MyFileName。 Try except end; 上面的是进行错误处里,在Try的后面写上程序将要实现的功能,当功能执行错误的时候,就会抛出异常在Except下面执行。End;是这是Delphi语法中常用到的表示语句的结束。 if SaveDialog1.Execute then 当保存文件的对话框选择保存的文件为真的时候则执行其下面的代码。SaveDialog是Delphi中的保存文件一个控件,平常我们使用Office,记事本等程序时,都会有保存文件这项功能,该控件就是完成文件保存的功能。 MyFileName := SaveDialog1.FileName;将SaveDialog保存文件对话框中的文件名对像传送给MyFileName变量,SaveDialog1.FileName实现的功能就是取得将要保存文件的完整路径。 if CopyFile(Pchar(ExtractFilePath(Application.ExeName) + 'data.mdb'), Pchar(MyFileName), false) then 当使用CopyFile函数据复制文件成功时则执行Then下面的代码,如果发生错误则会执行Except下面的代码。 C