>  기사  >  주제  >  빈 필드 레코드 삭제에 액세스

빈 필드 레코드 삭제에 액세스

王林
王林앞으로
2020-12-01 15:46:573540검색

빈 필드 레코드 삭제에 액세스

먼저 Access에서는 null과 빈 문자열이 다르다는 점을 알아야 하므로 이 문제를 잘 처리하지 않으면 특히 혼합 쿼리에서 많은 문제가 발생하게 됩니다.

(권장 튜토리얼: 액세스 데이터베이스 학습)

해결책은 다음과 같습니다.

var
 SQLStr:string;
begin
//
  SQLStr := 'select * from ordertb where 1>0';
  if Trim(Edit1.Text)<>&#39;&#39; then
  SQLStr := SQLStr +&#39; and serialid like :a&#39;;
  if Trim(Edit2.Text)<>&#39;&#39; then
  SQLStr := SQLStr +&#39; and pname like :b&#39;;
 
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add(SQLStr);
    if Trim(Edit1.Text)<>&#39;&#39; then
    Parameters.ParamByName(&#39;a&#39;).Value := &#39;%&#39;+Trim(Edit1.Text)+&#39;%&#39;;
    if Trim(Edit2.Text)<>&#39;&#39;then
    Parameters.ParamByName(&#39;b&#39;).Value := &#39;%&#39;+Trim(Edit2.Text)+&#39;%&#39;;
    Open;
  end;
end;

또는:

begin  
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add(&#39;select * from ordertb where 1>0&#39;);
    if Trim(Edit1.Text)<>&#39;&#39; then
    SQL.Add(&#39; and serialid like &#39;&#39;%&#39;+Trim(Edit1.Text)+&#39;%&#39;&#39;&#39;);
    if Trim(Edit2.Text)<>&#39;&#39;then
    SQL.Add(&#39; and pname like &#39;&#39;%&#39;+Trim(Edit2.Text)+&#39;%&#39;&#39;&#39;);
    Open;
  end;
end;

요약:

쿼리 문에서 조건이 비어 있는 필드를 필터링합니다.

위 내용은 빈 필드 레코드 삭제에 액세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제