回 帖 发 新 帖 刷新版面

主题:[讨论]求救:DELPHI+ACCESS2003中用TQDOQuery实例创建表的问题!急急急...

//用DELPHI+ACCESS2003
//tmpstr为一个字符串,ADOQuery1为TADOQuery类实例,我想通过下面两条语句创建名字为tmpstr字符串指定的表名.
ADOQuery1.SQL.Text:='creat table '+tmpstr +'(编号 ID,名称 Name 目前库存 LibaryCount)';
ADOQuery1.ExecSQL;
请问上面两句有什么问题,执行起来给出'无效的SQL语句;期待DELETE,INSERT,PROCEDURE,SELECT或者UPDATA'提示信息。
还再想问两句:
ADOQuery1.sql.text:='SQL语句'
ADOQuery1.EXECSQL

ADOQuery1.sql.add('SQL语句');
ADOQuery1.EXECSQL
有什么不同,请指点.

请各位老大帮个忙,急在线等!!!

回复列表 (共2个回复)

沙发

你创建的方式不对,给你一写代码参考一下:

var

    TempQuery:TQuery;

    DefField :String;

    TableName:String;

    CreateSQL:String;

begin

    CreateSQL:='Create Table "%s" (%s)';

    Deffield := ' Field1 Integer, Field2 CHAR(30) ';

    TableName := 'C:\DB01.DB';

    TempQuery := TQuery.Create(Application);

    with TempQuery do

    begin

        try

            SQL.Text:=Format(CreateSQL,[tableName,deffield]);

            ExecSQL;

        finally

            Free;

        end;

    end;

板凳

朋友:太感谢你了,按照你的方面我果然把表建成了,实在感谢。
只不过你给出的语句中:CreateSQL:='Create Table "%s" (%s)';应改为:CreateSQL:='Create Table %s (%s)'
再次表示感谢!
[em12][em12][em12]

我来回复

您尚未登录,请登录后再回复。点此登录或注册