Office中国论坛/Access中国论坛
标题:
alter table不能成功执行的问题
[打印本页]
作者:
ishallwin
时间:
2004-12-8 20:57
标题:
alter table不能成功执行的问题
alter table AAA add P1 char
在VC中调用ADO执行上述语句出现异常,但在此前已成功执行过几条类似语句(这个语句在一个循环中,并且会改变上述语句中的列名和列类型)。如果将最后的char改成TEXT,则此条语句可成功执行,但其它类似语句又出现问题。ACCESS对 alter table 是否有什么特殊要求?请高手指教!
作者:
yangzn
时间:
2004-12-8 21:55
看来是ACCESS对表的字段规定不一样(不过好像应该为char(10)这样吧)
作者:
ishallwin
时间:
2004-12-9 00:33
我的代码如下: _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的添加。试了好几次,全这样。
作者:
yangzn
时间:
2004-12-9 04:37
我的意思是这句 CString sql = "alter table AAA add P1 char"; 总应该指定字符的个数吧 是不是应该为CString sql = "alter table AAA add P1 char(你要的长度数字)" ; 你改改试试,C语言,我可不会用,虽然学过
作者:
ishallwin
时间:
2004-12-9 05:52
不是长度的问题,我发现如果连续七个类型一样,就不正常,如果类型有改变则没有问题,还发现我建立表时也是,只能建立七个。继续请教如何解决这个问题。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3