gpt4 book ai didi

sql - 如何将表中的值保存到另一个表中

转载 作者:行者123 更新时间:2023-12-03 19:36:44 25 4
gpt4 key购买 nike

我正在使用delphi rad studio,并且我是一个初学者。我试图将值从另一个仅包含ID的表插入表中。我有一些组合表,其中有一个表的ID填充,然后我想将这些值插入另一个表。更具体地说,我有一个表,该表包含有关汽车的规格,我想将这些规格保存到包含该车租赁信息的表中。我已经尝试了很多,但是没有得到答案。这是combobox的代码:

    procedure TForm13.DBLookupComboBox1Click(Sender: TObject);
begin
adomarca.SQL.Text := ' SELECT tabel_Marca.Marca from Tabel_Masini ' +
'join tabel_Marca on tabel_masini.id_Marca=tabel_marca.id_Marca ' ;

SELF.ADOmarca.ExecSQL;
SELF.ADOmarca.Open;
ADOmarca.Prepared := TRUE;
end;


这是保存按钮的代码:

     procedure TForm13.button2click(Sender: TObject);

begin
Comanda := 'Insert into Tabel_Inchirieri (id_Client, id_Marca,
id_Model, id_Transmisie, id_Caroserie, id_Culoare,
id_Combustibil, Ziua_Inchirierii, Ziua_Restituirii,
Nr_zile_inchiriate) ' +
// 'select * from tabel_masini ' +
'Values (' + inttostr(DBLOOKUPCOMBOBOX8.keyvalue) + ','
+inttostr(DBLOOKUPCOMBOBOX1.keyvalue) + ',' +
inttostr(DBLOOKUPCOMBOBOX2.keyvalue) + ',' +
inttostr(DBLOOKUPCOMBOBOX3.keyvalue) + ',' +
inttostr(DBLOOKUPCOMBOBOX4.keyvalue)+ ',' +
inttostr(DBLOOKUPCOMBOBOX5.keyvalue) + ',' +
inttostr(DBLOOKUPCOMBOBOX6.keyvalue)+ ',' +
quotedstr(formatdatetime('yyyy-mm-dd',DateTimePicker1.Date))+
','+ quotedstr(formatdatetime('yyyy-mm-
dd',DateTimePicker2.Date))+',' +
inttostr(daysbetween(DateTimePicker2.Date,
DateTimePicker1.Date))+')';
Qcomanda.SQL.Add(Comanda);

try
Qcomanda.ExecSQL ;
finally
ShowMessage('Comanda a fost salvata cu succes ! ');

end;


end;


非常感谢你。

最佳答案

您没有说您正在使用什么RDMS,但是有一些方法可以完全在SQL中完成
至少应与MS Sql Server和MS Access一起使用,这可能是
ADO中最常用的RDMS。

如果您打算进行复制操作以在服务器上填充新表
你可以这样使用SQL

   SELECT
[FieldList]
INTO
MyNewTable
FROM
[tables and join condition]


您可以轻松地在Google上找到此示例,请参阅f.i.
http://www.vb-helper.com/howto_ado_select_into.html

如果要将行复制到现有表中,可以使用

   INSERT INTO
[tablename]
SELECT
[fieldlist]
FROM
[tables and join condition]


见f.i. https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/insert-into-statement-microsoft-access-sql

您可以在Delphi应用中执行这些SQL语句,或者如果使用MS SQL Server,则可以执行这些SQL语句,
使用SQL Server Management Studio。

与建议的代码不同,这两种方法都可以一次性复制选定的记录,而无需逐记录,逐列复制操作,并且与客户端相比,您应该发现这两种方法都非常快逐记录复制。但是,如果涉及大量记录,则需要小心:一次性完成所有记录意味着它们可能被包装在巨大的服务器端事务中,这可能会耗尽服务器的资源,因此在这种情况下,如果可行的话,将复制品分成一系列较小的批次可能会更好。

关于sql - 如何将表中的值保存到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54657374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com