CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何在Access数据库czb.mdb中加入一个表?

楼主sbsoft(向各位学习)2003-11-04 07:11:15 在 Delphi / VCL组件开发及应用 提问

需要在Access数据库czb.mdb中加入一个表名为sbxt.这个表的结构如下:  
   
  字段名  字段类型 字段长度 小数位数  
  a1                 字符    20  
  a2                 数值型   10               2  
  a3                 布尔型     
  a4                 文件型  
   
  请使用SQL语句实现,谢谢各位的帮助  
  问题点数:20、回复次数:4Top

1 楼chwdong(chwdong)回复于 2003-11-04 08:23:21 得分 14

//stable     表name  
  //scommand     sql语句  
  scommand:='CREATE   TABLE   '+stable+  
                          '   (A1   TEXT(20)   NOT   NULL   PRIMARY   KEY,A2   TEXT(100),A2_1   SMALLINT,'+  
                          'A3   TEXT(9),A4   TEXT(9),A5   TEXT(9),A6   TEXT(9),A7   TEXT(9),A8   TEXT(9),A9   TEXT(9)'+  
                          ',A10   TEXT(4),A13   SMALLINT,A14   MEMO,E1   DATETIME,E2   TEXT(100),'+  
                          'E2_1   TEXT(100),E3   SMALLINT,E4   SMALLINT,jx   MEMO,a15   MEMO,csbs   TEXT(2),'+  
                          'F1   SMALLINT)';  
      try  
          DM1.ADOCn1.Execute(scommand);  
      except  
          showmessage('建立数据表时发生错误!');  
      end;  
  Top

2 楼chwdong(chwdong)回复于 2003-11-04 08:24:53 得分 2

A1   TEXT(20)   NOT   NULL   PRIMARY   KEY           //A1字符字段   长度20   不能为空   主键  
  其他类似Top

3 楼fhuibo(永远深爱一个叫“莎”的好女孩儿)回复于 2003-11-04 09:02:25 得分 2

with   adoquery   do  
  begin  
      close;  
      sql.clear;  
      sql.add('alter   table   sbxt   add   a1   varchar(20),a2   numeric(10,2),a3   blooen,  
                      a4   text');  
      try  
          execsql;  
      execpt  
          showmessage('该表已经存在');  
      end;  
  end;Top

4 楼coolfilm(苏飞工作室)回复于 2003-11-04 09:13:04 得分 2

procedure   dbgridtoacess;  
  var  
    dbname,tablename:string;  
    opendlg:   Topendialog;  
    sql1,sql2,sql3,sql4:string;  
    i:integer;  
  begin  
    opendlg:=Topendialog.Create(nil);  
    opendlg.InitialDir:=extractfilepath(application.ExeName);  
    opendlg.Title:='请选择输出的Acess数据库名:';  
    opendlg.Execute;  
    if   (opendlg.FileName<>'')   and   (ExtractFileExt(opendlg.FileName)='.mdb')   then   dbname:=trim(opendlg.FileName)  
    else   exit;  
    opendlg.Free;  
    fm_bf.adocn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data   Source='+dbname+';Persist   Security   Info=False';  
    fm_bf.adocn.LoginPrompt:=false;  
    fm_bf.adocn.Connected:=true;  
    for   i:=0   to   fm_main.DBGrid.FieldCount-1   do  
    begin  
        case   fm_main.DBGrid.Fields[i].DataType   of  
          ftstring:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   varchar('+inttostr(fm_main.DBGrid.Fields[i].DataSize)+'),';  
          ftInteger:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   int('+inttostr(fm_main.DBGrid.Fields[i].DataSize)+'),';  
          ftfloat:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   float('+inttostr(fm_main.DBGrid.Fields[i].DataSize)+'),';  
          ftMemo:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   text'+',';  
          ftDateTime:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   datetime'+',';  
          ftCurrency:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   money('+',';  
          ftblob:tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   image'+',';  
        else  
            tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   varchar('+inttostr(fm_main.DBGrid.Fields[i].DataSize)+'),';  
        end;  
        //   tablename:=tablename+fm_main.DBGrid.DataSource.DataSet.Fields[i].FieldName+'   varchar(50)'+',';  
    end;  
    sql1:='create   table   '+fm_main.TreeView1.Selected.Text+'('+copy(tablename,1,length(tablename)-1)+')';  
    sql2:='drop   table   '+fm_main.TreeView1.Selected.Text;  
    sql3:='select   *   from   '+fm_main.TreeView1.Selected.Text;  
  {   if   fm_bf.exesql(sql3,0)   then  
    begin  
      fm_bf.exesql(sql2,1);  
      fm_bf.exesql(sql1,1);  
    end  
    else   }  
      fm_bf.exesql(sql1,1);  
  {   sql1:='select   *   from     '+fm_main.TreeView1.Selected.Text;  
    fm_bf.ado_zj.Close;  
    fm_bf.ado_zj.SQL.Clear;  
    fm_bf.ado_zj.SQL.Text:=sql1;  
    fm_bf.ado_zj.Open;  
    fm_main.executesql(sql1,1);  
    fm_bf.ado_bf.Close;  
    fm_bf.ado_bf.SQL.Clear;  
    sql1:='select   *   into   '+fm_main.TreeView1.Selected.Text+'   from   ';  
    sql1:=sql1+'   OPENROWSET(''SQLOLEDB'''+',';  
    sql1:=sql1+'''coolfilm'';';  
    sql1:=sql1+'''sa'';''781213'',';  
    sql1:=sql1+'''SELECT   *   FROM   cz.dbo.ybbm'')';  
    sql2:='select   *   into   '+fm_main.TreeView1.Selected.Text+'   from     vvv';  
    fm_bf.ado_bf.SQL.Text:=sql1;  
    sql1:='insert   into   '+fm_main.TreeView1.Selected.Text+'   select   *   from   ';  
    sql1:=sql1+'   OPENROWSET(''SQLOLEDB'''+',';  
    sql1:=sql1+'''coolfilm'';';  
    sql1:=sql1+'''sa'';''13'',';  
    sql1:=sql1+'''SELECT   *   FROM   cz.dbo.ybbm'')';  
    fm_bf.ado_bf.SQL.Text:=sql1;  
    fm_bf.ado_bf.ExecSQL;   }  
    //fm_bf.adocn.Connected:=false;  
    sql4:='insert   into   OPENROWSET(''Microsoft.Jet.OLEDB.4.0'''+','''+dbname+''';''admin'''+';'''''+','+fm_main.TreeView1.Selected.Text+')   '  
              +'select   *   from   '+fm_main.TreeView1.Selected.Text;  
    fm_main.executesql(sql4,1);  
  end;Top

相关问题

  • ADO 动态建立.mdb数据库,表
  • 读MDB数据库中表的错误。。
  • MDB数据库
  • *mdb的数据库建和表的创建!
  • mdb数据库的byte类型怎么表示?
  • 用ADOQuery联接MDB数据库,怎么样创建新表
  • mdb 数据库,如何转为excel 表格并打印。
  • 如何得到*.mdb数据库得所有表?
  • 如何用代码在mdb数据库中创建新表?
  • MDB数据库,怎么列举所有表?

关键词

  • 数据库
  • 字段
  • sql
  • opendlg
  • fm
  • adocn
  • 表
  • dbgrid
  • tablename
  • smallint

得分解答快速导航

  • 帖主:sbsoft
  • chwdong
  • chwdong
  • fhuibo
  • coolfilm

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo