我有一個數據庫,我需要在每一行填充它的前2列。第一列是日期,第二列是一個ID。填充數據庫給出奇怪的結果
我的代碼如下:
.......
febr29:array[1..12] of byte = (31,29,31,30,31,30,31,31,30,31,30,31);
.......
procedure TForm.populate_database;
var
i,j,m,n: Integer;
begin
for i := 1 to 12 do
for j := 1 to febr29[i] do
for m := 1 to 9 do
for n := 1 to 15 do begin
database.tbl1.Append;
database.tbl1['date']:= inttostr(j)+'.'+inttostr(i)+'.2016';
database.tbl1['id']:='a'+inttostr(m)+inttostr(n);
database.tbl1.Post;
end;
end;
所以基本上我需要在一年中的每一天所有的ID。但我上面的代碼中的問題:它給了我在數據庫中的一些奇怪的輸出,如下面的圖片:
我在做什麼錯?
對我來說,它看起來像數據庫中的排序問題。查詢一天,並在id後面排序,如:SELECT * FROM Table WHERE date = '23 .9.2016'ORDER BY id 然後您可以檢查是否有所有想要的ID –
看起來很奇怪取決於您期待的內容看到。你認爲什麼*確切*對顯示「奇怪」?對我而言,看起來很奇怪的事情是你爲ID字段創建價值的方式。 – MartynA
@ChristineRoss:是的,這是數據庫中的排序問題。但是它是什麼導致了問題?,因爲數據庫在我發佈的循環中被「排序」。或者我錯了? –