m_pConnect->BeginTrans();
strSql.Format("CREATE TABLE SysUser(lsh AUTOINCREMENT NOT NULL UNIQUE,PRIMARY KEY(lsh),userType BYTE)");
m_pConnect->Execute((_bstr_t)strSql,NULL, adExecuteNoRecords);
这样建表就成功,
把sql语句换成
strSql.Format("CREATE TABLE SysUser(lsh AUTOINCREMENT NOT NULL UNIQUE,PRIMARY KEY(lsh),UserID VARCHAR(50),UserName VARCHAR(50),Password VARCHAR(50),userType BYTE)");
m_pConnect->Execute((_bstr_t)strSql,NULL, adExecuteNoRecords);执行就错误了 。。。
郁闷死了。
SQL code:
'Access中没有varchar类型,用TEXT类型代替。
CREATE TABLE SysUser(lsh AUTOINCREMENT NOT NULL UNIQUE,PRIMARY KEY(lsh),UserID TEXT,UserName TEXT,Password TEXT,userType BYTE
但是那个语句在access的查询:数字定义查询里面是可以成功创建的。
把VARCHAR换成TEXT也是同样的错误,当遇到错误时程序运行道
inline _RecordsetPtr Connection15::Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options ) {
struct _Recordset * _result = 0;
HRESULT _hr = raw_Execute(CommandText, RecordsAffected, Options, &_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _RecordsetPtr(_result, false);
}----------------------------------------------------------------msado1
初用ACCESS数据库,要实现一个关联查询,sql语句如下:select pid,product_Type.name as tid,name,img_url,context,remark from Product join product_Type on product.type_id = product_Type.type_id order by pid ......