Delphi에서 Microsoft Access 데이터베이스에 약간의 코드를 작성하려고합니다. TStringGrid에서 데이터를 가져옵니다. 첫 번째 열에는 ItemID가 있고 두 번째 열에는 Quantity가 있습니다. TStringGrid를 반복하고 각 행을 내 데이터베이스에있는 reperate 행으로 저장하고 모든 열에 순서 ID를 저장하고 싶습니다. (순서 ID는 각 주문마다 동일하게 유지되므로 변경할 필요가 없습니다.). 실행 때 오류가 받고 있어요MS Access 데이터베이스 (Delphi)에 대한 쓰기 문제
그것은 나에게 오류를주고 내가 왜 알아낼 수 없습니다
"Project Heatmat.exe raised an exception class EVarientInvalidArgError with message 'Invalid Argument'. Process Stopped."
을 말한다있는, 그리고 당신이 볼 아마 수 난 아직 코딩에서 아주 좋은 아니에요. 어떤 도움을 주시면 감사하겠습니다!
감사합니다.
procedure TCreateNewOrder.btnSaveClick(Sender: TObject);
var
intNumber, count : integer;
begin
Count:= 0;
if messagedlg ('Are you sure?', mtWarning, [mbyes, mbno], 0) = mryes then
begin
with HeatmatConnection.HeatmatDatabase do
begin
intNumber:= TBLOrder.RecordCount;
TBLOrder.Append;
TBLOrder['CustomerID']:= CompanyName.ItemIndex+1;
TBLOrder['OrderID']:= intNumber +1;
for count:= 1 to StringGrid1.RowCount-1 do
begin
TBLOrderedItem.Append;
TBLOrderedItem['OrderID']:= intNumber+1;
TBLOrderedItem['ItemID']:= StringGrid1.Cells[1, count];
TBLOrderedItem['Quantity']:= StringGrid1.Cells[2, count];
TBLOrderedItem.Post;
end;
end;
end;
end;
필자는'Quantity'가 몇 가지 숫자 형이므로'TBLOrderedItem [ 'Quantity'] : = StrToInt (StringGrid1.Cells [2, count]);' – ain
try TBLOrderedItem.FieldByName ('Quantity') .AsString : = StringGrid1.Cells [2, count]'. 숫자 일 경우'ItemID'도 마찬가지입니다. BTW, 당신은'TBLOrder.Post'를 잊고 있습니다. – kobik
감사합니다 이것이 효과가있는 것 같습니다! 이 프로그램은 나를 고통스럽게 만들고있다. 오류가 발생하면 계속 오류가 발생합니다! – Craig