안녕하세요.. 입력하는데 에러가 자꾸 나서요..
원인을 잘 모르겠어서... 한번 봐주세요...
에러는 다음과 같습니다.
Project chat.exe raised exception class EDBEngineError with message
'Table does not support this operation because it is not uniquely indexed.'.
Process stopped. Use Step or Run to continue.
-----------------------------
소스는 다음과 같습니다...
Table1.Open;
Table1.Insert;
Table1.FieldByName('title').value := Edit1.text;
Table1.FieldByName('master').value := Label1.Caption;
Table1.FieldByName('maxnum').value := StrToInt(ComboBox1.Text);
Table1.FieldByName('nownum').value := 1;
if RadioButton1.Checked = True then
begin
Table1.FieldByName('state').value := '공개';
Table1.FieldByName('passwd').value := '';
end
else if RadioButton2.Checked = True then
begin
Table1.FieldByName('state').value := '비공개';
Table1.FieldByName('passwd').value := Edit2.text;
end;
Table1.Post;
Table1.Refresh;
Table1.Close;
-----------------------------
위에 있는 필드 말고는 또 넣는 자료는 없습니다..
그럼.. 부탁드립니다.. 수고하세요..
> 안녕하세요.. 입력하는데 에러가 자꾸 나서요..
> 원인을 잘 모르겠어서... 한번 봐주세요...
>
> 에러는 다음과 같습니다.
>
> Project chat.exe raised exception class EDBEngineError with message
> 'Table does not support this operation because it is not uniquely indexed.'.
> Process stopped. Use Step or Run to continue.
>
> -----------------------------
> 소스는 다음과 같습니다...
>
> Table1.Open;
> Table1.Insert;
> Table1.FieldByName('title').value := Edit1.text;
> Table1.FieldByName('master').value := Label1.Caption;
> Table1.FieldByName('maxnum').value := StrToInt(ComboBox1.Text);
> Table1.FieldByName('nownum').value := 1;
>
> if RadioButton1.Checked = True then
> begin
> Table1.FieldByName('state').value := '공개';
> Table1.FieldByName('passwd').value := '';
> end
> else if RadioButton2.Checked = True then
> begin
> Table1.FieldByName('state').value := '비공개';
> Table1.FieldByName('passwd').value := Edit2.text;
> end;
>
> Table1.Post;
> Table1.Refresh;
> Table1.Close;
>
> -----------------------------
>
> 위에 있는 필드 말고는 또 넣는 자료는 없습니다..
>
> 그럼.. 부탁드립니다.. 수고하세요..
>
==>
위의 답변은 ..... 글쎄요.....
제 생각으로는 passwd필드가 널이 허용되는지가 의무이네요...
만일 Not Null일 경우 위의 라디오버튼의 처리에서 널값이 들어가는 경우가 있네요.
필드를 좀더 확인이 필요하겠습니다.
그리고 자세한 답변은 위 메일로.....
Value는 Variant Type으로 되어있습니다.
Variant Type은 Compile Time에 필드의 Type이 결정되지 않을때
즉 run Time시에 결정되어지는 경우에 사용하도록.........
그래서 Type만 맞으면 할당문제는 상관이 없습니다.
그렇지만 변수타입을 알고 있을때는 변수타입에 맞게끔 사용하시는것이
버그를 줄이는 방법입니다.