⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datamodule.cpp

📁 一个用C++Builder写的日记本程序
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "datamodule.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TDM *DM;
//---------------------------------------------------------------------------
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\project\note\bin\note.mdb;Persist Security Info=False
__fastcall TDM::TDM(TMainData *pMainData,TComponent* Owner)
    : TDataModule(Owner)
{
    m_pMainData = pMainData;
}
//---------------------------------------------------------------------------
int __fastcall TDM::OpenDatabase(void)
{
    //TODO: Add your source code here
    String szPath = ExtractFileDir(Application->ExeName);

    String szConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + \
                szPath + "\\note.mdb;Persist Security Info=False";
    ADOConn->ConnectionString = szConn;
    ADOConn->CommandTimeout = 30;
    ADOConn->LoginPrompt = false;
    try
    {
        ADOConn->Connected = true;
    }
    catch(const EOleException &e)
    {   
        return -1;
    }
    LoadData();
    return 1;
}

int __fastcall TDM::LoadData(void)
{
    //TODO: Add your source code here
    TADOQuery   *pQuery;
    NOTEINFO    NoteInfo;

    pQuery = this->ADOQuery;

    String szToDay = FormatDateTime("yyyy-mm-dd",m_pMainData->m_ConfigDay);

    m_pMainData->ClearNoteInfo();
    
    String szSql = "select * from noteinfo where msgtime=#"+szToDay+"#";
    
    if(OpenSql(pQuery,szSql) > 0)
    {
        for(int i = 0;i < pQuery->RecordCount;i++)
        {
            NoteInfo.m_iNoteIndex = pQuery->FieldByName("id")->AsInteger;
            NoteInfo.m_bShow = pQuery->FieldByName("flag")->AsBoolean;
            NoteInfo.m_szNote = pQuery->FieldByName("message")->AsString.Trim();

            m_pMainData->AddNoteInfo(NoteInfo);

            pQuery->Next();
        }
        pQuery->Close();
    }
    return 1;
}

int __fastcall TDM::OpenSql(TADOQuery * pQuery, String szSql)
{
    //TODO: Add your source code here
    if(pQuery != NULL)
    {
        try
        {
            pQuery->Close();
            pQuery->SQL->Clear();
            pQuery->SQL->Add(szSql);
            pQuery->Open();
            pQuery->First();

            return 1;
        }
        catch(...)
        {
            return -1;
        }
    }

    return -1;
}

int __fastcall TDM::InsertAMsg(LPNOTEINFO pNoteInfo)
{
    //TODO: Add your source code here
    TADOQuery   *pQuery;
    NOTEINFO    NoteInfo;

    pQuery = this->ADOQuery;

    String szToDay = FormatDateTime("yyyy-mm-dd",m_pMainData->m_ConfigDay);

    String szSql = "insert into noteinfo (msgtime,message) values(#"+szToDay+"#,'"+pNoteInfo->m_szNote+"')";
    if(ExceSql(pQuery,szSql) > 0)
    {
        szSql = "select max(id) as idindex from noteinfo";

        if(OpenSql(pQuery,szSql) > 0)
        {
            int iIndex = pQuery->FieldByName("idindex")->AsInteger;
            pNoteInfo->m_iNoteIndex = iIndex;
            return 1;
        }

        pQuery->Close();
        return -1;
    }

    return -1;
}

int __fastcall TDM::ExceSql(TADOQuery * pQuery, String szSql)
{
    //TODO: Add your source code here
    if(pQuery != NULL)
    {
        try
        {
            pQuery->Close();
            pQuery->SQL->Clear();
            pQuery->SQL->Add(szSql);
            pQuery->ExecSQL();

            return 1;
        }
        catch(...)
        {
            return -1;
        }
    }

    return -1;
}

int __fastcall TDM::HideMsg(LPNOTEINFO pNoteInfo,bool bFlag)
{
    //TODO: Add your source code here
    TADOQuery   *pQuery;
    NOTEINFO    NoteInfo;
    String      szSql;

    pQuery = this->ADOQuery;

    String szToDay = FormatDateTime("yyyy-mm-dd",m_pMainData->m_ConfigDay);
    if(bFlag)
    {
        szSql = "update noteinfo set flag = 0 where msgtime= #"+szToDay+"# and id="+pNoteInfo->m_iNoteIndex;
    }
    else
    {
        szSql = "update noteinfo set flag = 1 where msgtime= #"+szToDay+"# and id="+pNoteInfo->m_iNoteIndex;
    }
    if(ExceSql(pQuery,szSql) > 0)
    {
        pQuery->Close();
        return 1;
    }

    return -1;
}

int __fastcall TDM::UpdateMsg(String szNewStr,LPNOTEINFO pNoteInfo)
{
    //TODO: Add your source code here

    TADOQuery   *pQuery;
    NOTEINFO    NoteInfo;

    pQuery = this->ADOQuery;

    String szToDay = FormatDateTime("yyyy-mm-dd",m_pMainData->m_ConfigDay);

    String szSql = "update noteinfo  set message='"+szNewStr+"' where msgtime= #"+szToDay+"# and id="+pNoteInfo->m_iNoteIndex;
    if(ExceSql(pQuery,szSql) > 0)
    {
        pQuery->Close();
        pNoteInfo->m_szNote = szNewStr;
        return 1;
    }

    return -1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -