C++如何用代码以ADO的方式创建ACCESS数据库,及里面的表.详细的加分
追问:db.Create(lpszFile);
这个db哪来的.请把这个类发来好吗?
追问:db.Create(lpszFile);
这个db哪来的.请把这个类发来好吗?
答案:以下VC++6.0下调试通过
//获取主程序所在路径,存在sPath中
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ( '\\ ');
sPath=sPath.Left (nPos);
//默认创建数据名:
CString lpszFile = sPath + "\\PID_y.mdb ";
CFileFind fFind;
BOOL bSuccess;
bSuccess=fFind.FindFile(lpszFile);
fFind.Close ();
//是否已有创建好的PID_y.mdb文件,没有则创建它
if(!bSuccess)
{
db.Create(lpszFile);
//创建PasswordTable 表存储唯一值的表
CString SqlCmd = "CREATE TABLE PasswordTable(Password VARCHAR(20),K VARCHAR(10),T VARCHAR(10),D VARCHAR(10),Tim VARCHAR(10),Matier VARCHAR(10),WaterSpeed VARCHAR(10),InWater VARCHAR(10),OutWater VARCHAR(10),cctim VARCHAR(10),b_setwatar VARCHAR(10),b_matier VARCHAR(10),b_waterspeed VARCHAR(10)); ";
db.Execute(SqlCmd);
//创建WaterSetTable
SqlCmd= "CREATE TABLE Main(DT VARCHAR(20),Matier VARCHAR(20),WaterSet VARCHAR(20),WaterSpeed VARCHAR(20)); ";
db.Execute(SqlCmd);
SqlCmd= "CREATE TABLE Warning(Matier_up VARCHAR(20),Matier_down VARCHAR(20),WaterSet_percent VARCHAR(20),WaterSpeed_up VARCHAR(20),WaterSpeed_down VARCHAR(20)); ";
db.Execute(SqlCmd);
//打开已创建的数据表
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,
"SELECT * FROM PasswordTable ", 0);
//加入第一个记录,用SQL语句
db.Execute( "INSERT INTO PasswordTable (Password,K,T,D,Tim,Matier,WaterSpeed,InWater,OutWater,cctim,b_setwatar,b_matier,b_waterspeed) VALUES ( 'yyy ',26,10,1,1,10,10,1,1,10,0,0,0) ");
RecSet.Close();
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,
"SELECT * FROM Warning ", 0);
//加入第一个记录,用SQL语句
db.Execute( "INSERT INTO Warning (Matier_up,Matier_down,WaterSet_percent,WaterSpeed_up,WaterSpeed_down) VALUES (10,10,50,10,10) ");
//关闭记录集及库
RecSet.Close();
db.Close();
AfxMessageBox( "数据库创建成功、初始化密码为yyy! ");
}
上一个:求access2007数据库软件下载地址 支持WIN7系统的
下一个:sql的数据库怎么附加到access2007