我在创建的.mdb文件中想创建表,用了 _ConnectionPtr m_pConnection;
m_pConnection->Open
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=guestbook.mdb","","",adModeUnknown);
_variant_t RecordsAffected;
m_pConnection->Execute("CREATE TABLE users(ID INTEGER,username TEXT,old INTEGER,birthday DATETIME)",&RecordsAffected,adCmdText);
但直接提示错误,请帮忙解决为什么?
m_pConnection->Open
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=guestbook.mdb","","",adModeUnknown);
_variant_t RecordsAffected;
m_pConnection->Execute("CREATE TABLE users(ID INTEGER,username TEXT,old INTEGER,birthday DATETIME)",&RecordsAffected,adCmdText);
但直接提示错误,请帮忙解决为什么?
因为在没有写m_pConnection->Execute("CREATE TABLE users(ID INTEGER,username TEXT,old INTEGER,birthday DATETIME)",&RecordsAffected,adCmdText);
这句的时候是没有错误的!
所以我想问题应该是创建表的这一句!
或者我忘了写什么1
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=guestbook.mdb","","",adModeUnknown);
把连接字串的内容删去一些,编译连接均不会出错的,因为编译器先前并不知道你的数据库在那里,当它真正执行连接数据库的时候,然而你的连接字串使得连接失败,编译器会报错,也就是runtime error!!!我写个例子你拿去看能否运行,我的是VC6.0+ACCESS数据库。
try
{
pConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\user\\桌面\\author.mdb";//连接字串赋值
pConn->Open("","","",adConnectUnspecified);//打开指定的数据库
pConn->Execute("CREATE TABLE 学生信息(学号 INTEGER,姓名 TEXT,年龄 INTEGER,生日 DATETIME) ",&ra,adCmdText);//创建一个“学生信息”表
pConn->Execute("ALTER TABLE 学生信息 ADD 作品 TEXT ",NULL,adCmdUnknown); //为表添加字段
MessageBox("成功添加一个字段");
}
catch(_com_error *e)
{
MessageBox(e->ErrorMessage());
}
其实在我编译的时候,该命令并没有运行!
我把它放在其他地方,就可以用了!
还是不太清楚,OnInitialUpdate的运行机制!
再看看了,大家也帮忙说说1