如何將stringgrid中資料存入database中(80分)

  • 主题发起人 主题发起人 sandal
  • 开始时间 开始时间
S

sandal

Unregistered / Unconfirmed
GUEST, unregistred user!
stringgrid: colorway #1 #2 #3
A black red blue
B blue black
要求生成數據表(paradox)如下
fields: colorway colorset colorname
value: A #1 black
A #2 red
A #3 blue
B #1 blue
B #2 black
 
用一个二重循环:
for i:=0 to recordcount-1 do
begin
for j:=0 to fieldcount-1 do
table1.appendnewrecord(stringgrid1.column[0].value,
stringgrid1.column[1].value,
stringgrid1.column[2].value);
table1.next;
end;

 
只能手工一个一个 append...post 进去
写一点程序算不了什么
 
我想可能我的表達有問題造成朋友誤解,再說一個現實例子:某衣衫廠接到客戶訂單如
下(這個界面就是程式用戶的輸入界面,可以用stringgrid或F1book):
款式 X L M
A 10 12 15
B 12 10 100
C 100 2 50
要求程式用戶輸完上面資料后, 程式將這些數據轉存入下面數據庫
Fieldname: 款式 尺碼 訂貨數量
datalist: A X 10
A L 12
A M 15
B X 12
 
这有啥,不就几个数组,几个循环自己加起来,然后append...post嘛
 
是啊,我最近写的一个程序也是用StringGrid代替DBGrid,
方法同Pipi.

for i:=0 to recordcount-1 do
begin
Table1.Append;
with Table1.Fields do
begin
FieldByName['款式'].AsString:=StringGrid1.Cells[0,i];
FieldByName['尺碼'].AsString:=StringGrid1.Cells[1,i];
FieldByName['訂貨數量'].AsString:=StringGrid1.Cells[1,i];
end;
Table1.Post;
end;

 
有点小错误,自己改吧。
 
cheka :
你的那個recordcount是誰的屬性?, StringGrid or Table1? , 如果是table1的,
table1的record都還沒有append, 不可能吧?如果是stringgrid1的, 又好象它沒這
個屬性(我用的是D3), 還望再指教.不會要再加一個TABLE?吧!

PIPI的答案我看不明白, 可否辛苦大蝦再說詳細一點?
 
还是自己多看看书吧.delphi下的例子很多,仔细读一读.
 
size[1]='X';
size[2]='L';
size[3]='M';

for i:=1 to StringGrid1.RowCount-1 do //第0行是标题,所以从1开始
begin
for j:=1 to 3 do
begin
Table1.Append;
with Table1.Fields do
begin
FieldByName['款式'].AsString:=StringGrid1.Cells[0,i];
FieldByName['尺碼'].AsString:=size[j];
FieldByName['訂貨數量'].AsString:=StringGrid1.Cells[j,i];
end;
Table1.Post;
end;
end;
 
PiPi 就是热心.
 
PIPI:
非常感謝你的解答, 前40分你拿定了, 還有40分最好也給你, 不過我第一次用String
Grid,想再問個明白(這道題不知能不能加大分數到150分?如何加大):
題中的尺碼在實際中不只是3種,而是無限種,這還不是難題, 更麻煩的是存入數據庫
中的資料下次還要能取出來, 並用StringGrid方式顯示出來給用戶改,改完后再轉
成要求的數據庫格式保存, 能不能把代碼再寫清楚一點.
拜托了.
千萬不要象gxg8816那樣回答問題.
 
用 StringGrid1.RowCount StringGrid1.ColCount 动态改变 StringGrid的维数
再结合动态数组.
PiPi:
人家点名要你写代码给他呢.
 
你的输入界面是:
款式 X L M
A 10 12 15
B 12 10 100
C 100 2 50

为什么数据库不按这个结构设计? 如果数据库结构一样不就省事了吗?
 
gxg8816:
我急著要答案, 你叫去看書,那我還來大富翁做什麼?找分數? 你叫去看 sample
也得說說大至在哪個sample里有, 我不知道你來大富翁的目的是什麼?教訓人, 顯示
實力? 難怪當初我看到大富翁的前輩們告別大富翁時說出那麼多傷感話.
不過我高興的是本月排在第三名的是pipi, 如果是gxg8816, 我這個新手還沒上路就
會離開大富翁!
 
言重了言重了.
 
amo 的名言:
属于自己想完全依赖别人给出解决方法的,我没有回答;
属于自己不仔细分析问题而乱闯的问题,我没有回答;
属于自己不想看帮助的问题,我没有回答;
属于自己一点儿也不懂的问题,我当然没有回答;
 
復gxg8816:
我說完此話已覺后悔, 請你大人不記小人過于心急之錯,Sorry,Sorry!.
復cAKK:
不行, 因為X,L,M不是FIELD名,而是資料, 且並不一定是X,L,M, 也可能是A1,A2,A3
A4......(無限), 也可能是old,yang,girl,boy,little等等.不過現在覺得第一步
工作用pipi的方法沒問題, 可怕的是在第二步中, 用戶要把資料取出來修改,修改的
界面與第一步中輸入界面相同,修改完后重新存入到數據庫中.不過有了pipi的第一步
引導,相信能完成這個原來不想完成的工作.
gxg8816: 再說一聲Sorry!
 
后退
顶部