이번에 델파이입문을했는데 저에게 어려일 난관이 많군요...저번에 도와주시분께
감사드립니다.
이번문제는 스트링그리드의 특정column에 잘못입력된숫자를 수정하여
update해야 됩니다.
질문
1. 버턴을 누르면 특정컬럼의 첫번째에 위치하게 만들었는데 이컬럼외에 다른컬럼으로
는 마우스나 화살표키가 못가게 할수 있는지요?(즉 그 컬럼의 위아래로만 움직이게)
2. 특정컬럼을 수정후 저장버튼을 누르면 저장하도록 버튼만 만들었습니다.
수정하기위한 update문을 사용하기위해 tquery와upfatesql을 같이 사용해야되나요?
아님 이런거 필요없이 그냥 코딩만으로도 가능한건지요?
>
> 이번에 델파이입문을했는데 저에게 어려일 난관이 많군요...저번에 도와주시분께
>
> 감사드립니다.
>
> 이번문제는 스트링그리드의 특정column에 잘못입력된숫자를 수정하여
>
> update해야 됩니다.
>
> 질문
> 1. 버턴을 누르면 특정컬럼의 첫번째에 위치하게 만들었는데 이컬럼외에 다른컬럼으로
> 는 마우스나 화살표키가 못가게 할수 있는지요?(즉 그 컬럼의 위아래로만 움직이게)
>
> 2. 특정컬럼을 수정후 저장버튼을 누르면 저장하도록 버튼만 만들었습니다.
> 수정하기위한 update문을 사용하기위해 tquery와upfatesql을 같이 사용해야되나요?
> 아님 이런거 필요없이 그냥 코딩만으로도 가능한건지요?
>
>
저는 오라클 디비일때.. 이렇게 했거든요..
우선 stringgrid의 속성중 Option중 goEditing은 true로 해주시고
우선 선택한 row.col값이있어야하고.. 선택한 필드정보와 값...행값이 있으면.. 아주 간단히..
어떤 디비인줄은 모르겠지만. 조금만 검색해주면.. 답이 있던것 같던데..
a := StringGrid1.Col;
b := StringGrid1.Row;
c := StringGrid1.Cells[a,0]; //선택한필드의 필드정보
d := StringGrid1.Cells[a,b]; //선택한필드의 값
f := StringGrid1.Cells[0,b]; //선택한필드의 행정보 (처음값)fixedrows=0일때
// f := StringGrid1.Cells[1,b]; fixedrows=1일때
with QueryTemp do
begin
close;
sql.Clear;
sql.Add('update table set '+c+'='''+d+''' where rownum ='''+f+''' ');
try
Execsql;
except
on E:EDataBaseError do
begin
Close;
Screen.Cursor := crDefault;
ShowMessage('수정실패하셨습니다.다시 수정해 주세요');
Exit;
end;
end;
MessageDlg('수정완료', mtInformation, [mbOk], 0);
end;