[收藏]用C++动态创建一个Access数据库

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值