以下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!");
}