안녕하세요
Edit 컴포넌트를 사용하여 자료를 입력받거 있거든요 그런데...
var TStringList: TStrings;
Q1: TQuery;
begin
Q1 := TQuery.Create(self);
Q1.DataBaseName := 'dbNameaa';
Q1.Sql.Clear;
StringList := TStringList.Create;
StringList.Add('Update Table1 ');
StringList.Add(' set Emp_Name = :emp_name, kor = :kor');
StringList.Add(' .... ');
StringList.Add(' where emp_code = ' + Edit1.Text); //emp_code가 키값임
Q1.Sql := StringList;
Q1.ParambyName('emp_name').AsString := '사원 이름';
Q1.ParambyName('kor').AsFloat := 88;
.
. 각각의 필드를 이동함
.
Q1.ExecSql;
Q1.Close;
StringList.Free;
Q1.Free;
end;
이렇게 하였는데 자료가 수정이 않되거든요..원인을 모르겠어요.
이문장이 잘못된건지.....
제생각엔 where 절이 잘못된것 같은데....
실행시 에라는 없는데 Edit컴포넌트에서 수정된 자료가 테이블에 저장이 되질 않아요..
> 안녕하세요
> Edit 컴포넌트를 사용하여 자료를 입력받거 있거든요 그런데...
>
> var TStringList: TStrings;
> Q1: TQuery;
> begin
> Q1 := TQuery.Create(self);
> Q1.DataBaseName := 'dbNameaa';
> Q1.Sql.Clear;
> StringList := TStringList.Create;
> StringList.Add('Update Table1 ');
> StringList.Add(' set Emp_Name = :emp_name, kor = :kor');
> StringList.Add(' .... ');
> StringList.Add(' where emp_code = ' + Edit1.Text); //emp_code가 키값임
> Q1.Sql := StringList;
> Q1.ParambyName('emp_name').AsString := '사원 이름';
> Q1.ParambyName('kor').AsFloat := 88;
> .
> . 각각의 필드를 이동함
> .
> Q1.ExecSql;
> Q1.Close;
> StringList.Free;
> Q1.Free;
> end;
>
> 이렇게 하였는데 자료가 수정이 않되거든요..원인을 모르겠어요.
> 이문장이 잘못된건지.....
> 제생각엔 where 절이 잘못된것 같은데....
> 실행시 에라는 없는데 Edit컴포넌트에서 수정된 자료가 테이블에 저장이 되질 않아요..
StringList.Add(' where emp_code = '+Edit1.Text);
문장을
StringList.Add(' where emp_code = '''+Edit1.Text+'''');
로 바꿔보세요