主题:[原创]VC中使用ADO操作ACCESS的问题......
InitInstance
[专家分:8720] 发布于 2006-08-08 14:33:00
用ACCESS创建一个数据库,里面只有一个表,请问如何向表中添加一个字段?我弄半天了还是出错,比如有个表是authors,想向该表插入‘作者’这一字段,如何实现?
望大虾指点指点.
回复列表 (共9个回复)
沙发
gggmmtddir [专家分:2690] 发布于 2006-08-08 18:17:00
不会用vc,你是要sql语句吗?
alter table authors add 作者 datatype
板凳
InitInstance [专家分:8720] 发布于 2006-08-08 18:38:00
pConn->Execute((_bstr_t)"ALTER TABLE authors ADD column_b 作品 TEXT VARCHAR(20) NULL",
NULL,adCmdUnknown);
这样总是产生运行时错误!问题没有解决..................
3 楼
gggmmtddir [专家分:2690] 发布于 2006-08-08 19:55:00
pConn->Execute((_bstr_t)"ALTER TABLE authors ADD column_b 作品 TEXT VARCHAR(20) NULL",
NULL,adCmdUnknown)我句话我不明
我知道在asp中操作如下:access数据库的只读属性去掉
conn.execute("alter table authors add 作者 varchar(20)")这样做即可在authors中添加一字段为"作者",数据类型为varchar
如若你想添加"作品"这一字段,可作如下改动试下:
"alter table authors add 作品 varchar(20) null"
4 楼
InitInstance [专家分:8720] 发布于 2006-08-08 22:46:00
其实很多东西都是相通的,pConn->Execute()的第一个参数就是执行SQL语句,
varchar(20)里面的20是表示什么呢?20个字符?
5 楼
InitInstance [专家分:8720] 发布于 2006-08-08 22:49:00
插入一个字段的问题解决了,弄了半天,其实SQL语句是正确的,是其它问题弄我头云了,嘿嘿。gggmmtddir兄,你们用ASP删除一个字段又怎么写的呢?我急用..........
6 楼
gggmmtddir [专家分:2690] 发布于 2006-08-08 23:04:00
你写一个能够执行的sql语句给我看一下.如果你插入的字段是要求是不能为空的话,肯定会错.此时,应该绑定default.
pConn->Execute("alter table tablename add addcolumnname datatype null")
不知这样执行会不会报错呢?反正我在sql查询分析器中试了,sql语句是正确的.
此时,如果你的标识改为not null,就会报错,此时应为:
pConn->Execute("alter table tablename add addcolumnname datatype null default('value')")
varchar(20)是表示为20个字符.
7 楼
InitInstance [专家分:8720] 发布于 2006-08-08 23:12:00
插入一个字段的问题解决了,弄了半天,其实SQL语句是正确的,是其它问题弄我头云了,嘿嘿。谢谢gggmmtddir兄,你们用ASP删除一个字段又怎么写的呢?我急用..........
8 楼
gggmmtddir [专家分:2690] 发布于 2006-08-08 23:26:00
我给你写sql语句吧:
alter table tablename drop column 列名
此时,列名不应与其它外表,或本身有约束关系.如此列为外键,则不能删除,要先删除约束关系.
9 楼
InitInstance [专家分:8720] 发布于 2006-08-09 13:19:00
问题解决,再次谢谢楼上的关注。
我来回复