아래 소스에서요....
현재 데이터베이스에는 값이 올바르게 들어가 있는데요...
그리고 값을 넣을때도 올바르게 들어갑니다..
문제는 값을 불러 오는데서요...
이상하게 꼭 한개의 값이 0으로 계속 나옵니다.
문제 부분은 바로 아래 소스(MyData 프로시저)에서 문제가 있어요..
그다음 프로시저에서는 값이 똑바로 나옵니다..
필드 이름이 no 였는데.. 이 필드이름이 문제가 있나 싶어서..
sno로 바꾸고 해보았는데. 그래도 0이 나왔습니다.
그래서 이번에는 테이블을 이름도 바꾸어서 해보았구요..
그리고 아예.. delno라는 필드를 하나 더 주어서 같은 값들을 넣어서.. 해보았더니...
분명히 DB속에 있는 값은 1, 2 등이 들어가느데..
sno, delno 를 프로그램에서 출력하면 무조건 0으로 나오는 겁니다..
벌써 3일째 이걸루.. 허비하고 진도를 못나가고 있습니다.
고수님들 도데체 뭐가 문제인가요...
참고로 맨아래 프로시저에는 값이 제대로 출력됩니다.
procedure TFriendInfoForm.MyData;
var
ListItem : TListItem;
s : String;
begin
ListItem := TListItem.Create(nil);
orqu.Close;
orqu.Sql.Clear;
s := 'select sno, mdir_name, mtotal_check, delno from MYPUFOLDER where mid=:DID';
// orqu.Sql.Append('select sno,dir_name,total_check,delno from MYPUFOLDER where id=:DID');
orqu.Sql.Append(s);
ShowMessage(s);
orqu.ParamByName('DID').AsString := STUDENTCD;
ShowMessage(STUDENTCD);
orqu.Open;
orqu.First;
While NOT orqu.Eof Do
Begin
ShowMessage(IntToStr(orqu.Fields.Fields[0].AsInteger));
ShowMessage(IntToStr(orqu.Fields.Fields[3].AsInteger));
ListItem := ListView1.Items.Add;
ListItem.Caption := orqu.Fields.Fields[1].AsString;
ListItem.ImageIndex := 0;
ListItem.SubItems.Add(IntToStr(orqu.Fields.Fields[3].AsInteger));
ListItem.SubItems.Add(orqu.Fields.Fields[2].AsString);
orqu.Next;
End;
orqu.Close;
end;
// Data View
procedure TFriendInfoForm.FriendData;
var
ListItem : TListItem;
begin
ListItem := TListItem.Create(nil);
orqu.Sql.Clear;
orqu.Sql.Append('select no,dir_name,total_check from Directory where id=:CID and pu_check=:CP and public_check!=:PU');
orqu.ParamByName('CID').AsString := pGroup(group_node.Data).get_id;
orqu.ParamByName('CP').AsString := 'Y';
orqu.ParamByName('PU').AsString := '3';
orqu.Open;
orqu.First;
While NOT orqu.Eof Do
Begin
ListItem := ListView1.Items.Add;
ListItem.Caption := orqu.Fields.Fields[1].AsString;
ListItem.ImageIndex := 0;
ListItem.SubItems.Add(IntToStr(orqu.Fields.Fields[0].AsInteger));
ListItem.SubItems.Add(orqu.Fields.Fields[2].AsString);
orqu.Next;
End;
orqu.Close;
end;