【问题标题】:Can I create table in sql using delphi edit as a name我可以使用delphi编辑作为名称在sql中创建表吗
【发布时间】:2021-09-28 09:24:21
【问题描述】:

在我的程序中,我想在单击按钮时创建一个新表。表名应该在Edit.Text 中。我是这样弄的:

procedure TRyby_Form01.WyjazdyBTNClick(Sender: TObject);
var Wyjazd  : string; 
begin
  Wyjazd := WyjazdEDT.text;      // edit wchich is supposed to be table name
  with wyjazdquery3 do

    begin
      parameters.ParamByName('wyjazd').value := wyjazd;
    end;

    wyjazdquery3.ExecSQL;

    with wyjazdquery4 do
    begin
      parameters.ParamByName(':wyjazd').value := wyjazd;
    end;

    wyjazdquery4.ExecSQL;
    wyjazdquery5.ExecSQL;
  end;

end.

我已在查询中将参数创建为字符串并使用此语法

Create Table :wyjazd (
Ryba char(20),
Miara int,
Waga decimal(6,3),
Data date,
przyneta char(60),
metoda char (20) );

不幸的是,当我单击该按钮时,我收到的只是“@P1 附近的语法错误”。是否可以按照我尝试的方式或 SQL 不允许的方式进行?

【问题讨论】:

  • 遗憾的是,您不能将参数用于表名。

标签: sql delphi


【解决方案1】:

最简单的方法是使用带有 %s 的格式作为表名。简单地说——你不能用参数改变 SQL 的结构。 将此字符串用作 Query.SQL 的模板:

Create Table %s (
Ryba char(20),
Miara int,
Waga decimal(6,3),
Data date,
przyneta char(60),
metoda char (20) );

【讨论】:

    猜你喜欢
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    相关资源
    最近更新 更多