Witam,
Mam problem i nie wiem jak temu sprostać:
Po wpisaniu zawartości ze stringgrida do tabli bazy danych[interbasa] jest problem z tym że przy wpisywaniu liczb (z przecinkiem) z celki do pola(typu numeric(10,2) bazy danych, niby wszystko sie wpisuje tylko że zamiast np: 12,5 z StringGrid1.Cells[i,j] w tabeli bazy w odpowiednim polu wyswietla sie 125. Czy ktos wie jak to madrze przekonwertować?
A i jeszcze czy da sie po zwykłej konwersji crrtostr(x), uzyskać w kontrolce typu string: x,xx zł?
Szukałem na forum i w necie ale nic nie mogę wykminić.
Z góry dziekuje za pomoc. Pozdrawiam:)
0
0
- jak zapisujesz z SG do bazy
- co to jest crrtostr?
- co rozumiesz przez "kontrolka typu string"
- do trzymania kwot w delphi jest typ currency - stałoprzecinkowy (4 miejsca po przecinku do trzymania wartości ale tylko 2 są wyświetlane)
0
No więc po kolei:
1.za pomoca zapytania(klikam na buttona i dodaje do bazy zapytaniem insert):
for i:=1 to StringGrid1.RowCount-1 do
begin
DM1.IBQuery1.Close;
DM1.IBQuery1.SQL.Clear;
DM1.IBQuery1.SQL.Add('INSERT INTO Tabela1 (Pole1,Pole2,Pole3) VALUES('''+StringGrid1.Cells[1,i]+''','''+StringGrid1.Cells[2,i]+''','''+StringGrid1.Cells[3,i]+''')');
DM1.IBQuery1.ExecSQL;
end;
2.A przepraszam funkcja CurrToStr(x);
3.A przez kontrolkę typu string rozumiem taką kontrolkę która wyswietla dane typu string np:Edit,StringGrid;
4.Nio w porządku, chodziło mi o to jak np.w StringGridzie wyswietlić zmienną currency, konkretnie chciałbym aby dana kolumna stringgrida wyswietlała mi kwoty pienieżne.
0
- parametry, with -
for i:=1 to StringGrid1.RowCount-1 do
with DM1.IBQuery1, SQL do
begin
Close;
Clear;
Add('INSERT INTO Tabela1 (Pole1,Pole2,Pole3) VALUES(:pole1, :pole2, :pole3)');
ParamByName('pole1').AsString := StringGrid1.Cells[1,i];
ParamByName('pole2').AsString := StringGrid1.Cells[1,i];
ParamByName('pole3').AsCurrent := StrToCurr(StringGrid1.Cells[1,i]);
ExecSQL;
end;
Edit.Text := Format('%m', [12.4]);
0
Dziękuje ślicznie Misiekd :-)
Poprawiłem i jest wszystko tak jak powinno być!!!
Dziękuję i Pozdrawiam :-)