[急]Access2000如何动态创建一张表!(100分)

  • 主题发起人 主题发起人 qylin1
  • 开始时间 开始时间
Q

qylin1

Unregistered / Unconfirmed
GUEST, unregistred user!
1、要求必需在程序运行过程中用SQL语句创建表。
2、要求设置字段的“允许空字符串”为“是”
3、要求设置字段的“默认值”

说明一下:
1、用 NULL 关键字只能设置“必填字段”属性,而不能设置“允许空字符串”属性。
2、用 DEFAULT 关键字 Access 会报错。

很急啊,恳请高手帮忙,无限感谢!!
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=101
 
To:轻舞肥羊
用到ADOX对象将列属性"允许空字符串"改为"是"
const
ConStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/db1.mdb';

Catalog.ActiveConnection := ConStr; //执行到下面这句总出错啊


再次讨教,谢谢啦!
 
SQL.CLEAR;
SQL.ADD('CREATE TABLE 表名(字段名1 类型,字段名2 类型,...,字段n 类型)')
EXECSQL;
 
出什么错?
const
ConStr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/db1.mdb';
~~~~~~~~~~
这里要改成你的数据库
 
肯定改了呀,但一运行到那行就出错,说什么ODBC驱动没找到之类的,我用ADO是可以正常连接我的数据库文件的啊!
 
那你把你的ADO连接字符串复制过来就行了,这里ADOX也是用的ADODB.Connection对象连接的数据库,只要ADO能连上它就能行
 
就是不可以呀

ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/db1.mdb';

// 用ADO这样打开是可以的
ADOConnection1.ConnectionString := ConStr ;
ADOConnection1.Open ;

// 这样就会出错啊
Catalog := CreateOleObject('ADOX.Catalog');
Catalog.ActiveConnection := ConStr ; //这时出错

出错信息:
[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序。
 
uses ComObj,
 
你新建一个工程试试
 
不要用变量,直接写成这样:
Catalog.ActiveConnection := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/db1.mdb' ; // 这里不要用变量
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
853
DelphiTeacher的专栏
D
D
回复
0
查看
863
DelphiTeacher的专栏
D
D
回复
0
查看
691
DelphiTeacher的专栏
D
D
回复
0
查看
850
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部