设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1658|回复: 4
打印 上一主题 下一主题

[其它] alter table不能成功执行的问题

[复制链接]
跳转到指定楼层
1#
发表于 2004-12-8 20:57:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
alter table AAA add P1 char

在VC中调用ADO执行上述语句出现异常,但在此前已成功执行过几条类似语句(这个语句在一个循环中,并且会改变上述语句中的列名和列类型)。如果将最后的char改成TEXT,则此条语句可成功执行,但其它类似语句又出现问题。ACCESS对 alter table 是否有什么特殊要求?请高手指教!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-12-8 21:55:00 | 只看该作者
看来是ACCESS对表的字段规定不一样(不过好像应该为char(10)这样吧)
3#
 楼主| 发表于 2004-12-9 00:33:00 | 只看该作者
我的代码如下: _ConnectionPtr m_pConnection;

_variant_t rows;

char buff[5];

CString sql = "alter table AAA add P1 char";

try

{

  m_pConnection.CreateInstance(__uuidof(Connection));

  m_pConnection->Open("rovider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\db1.mdb","","",adModeUnknown);

  for(int loop=0; loop<10;loop++)

  {

   _itoa(loop, buff, 10);

   sql = "alter table AAA add ";

   sql += "";

   sql += buff;

   sql += " char";

   m_pConnection->Execute((_bstr_t)sql, &rows, adCmdText);

  }

}

catch(_com_error *e)

{

  AfxMessageBox(e->ErrorMessage());

  return;

}

在完成P6这个字段的添加后就产生异常了,不能继续P7-P9的添加。试了好几次,全这样。

4#
发表于 2004-12-9 04:37:00 | 只看该作者
我的意思是这句 CString sql = "alter table AAA add P1 char"; 总应该指定字符的个数吧 是不是应该为CString sql = "alter table AAA add P1 char(你要的长度数字)" ; 你改改试试,C语言,我可不会用,虽然学过

5#
 楼主| 发表于 2004-12-9 05:52:00 | 只看该作者
不是长度的问题,我发现如果连续七个类型一样,就不正常,如果类型有改变则没有问题,还发现我建立表时也是,只能建立七个。继续请教如何解决这个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 23:14 , Processed in 0.100827 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表