亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? userinfo.cpp

?? 一個移動通信用SMPP協議寫的.非常經典!
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "UserInfo.h"
#include "main.h"
#include "f_ceshi.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
__fastcall TUserInfo::TUserInfo()
{
     ADOConnection1=NULL;
     ADOQuery1=NULL;
     ADOQuery2=NULL;
     ADOQuery3=NULL;
     ADOQuery4=NULL;
     ADOQuery5=NULL;
}
//獲取數據庫信息
bool TUserInfo::GetDatabaseInfo(AnsiString _DBIP,AnsiString _DBNAME,AnsiString _DBUSERNAME,AnsiString _DBUSERPWD)
{
     if(_DBNAME=="")
     {
        ShowMessage("找不到數據庫,請檢查數據庫設置是否正確!");
        return false;
     }
     if(_DBUSERNAME=="")
     {
        ShowMessage("數據庫用戶名錯誤!");
        return false;
     }
     DBIP=_DBIP;
     DBUSERNAME=_DBUSERNAME;
     DBUSERPWD=_DBUSERPWD;
     DBNAME=_DBNAME;
     return true;
}
//打開數據庫
bool TUserInfo::OpenDatabase()
{
    CreateDbContrl();
    ADOConnection1->LoginPrompt=false;
    ADOConnection1->KeepConnection=false;
    ADOConnection1->CommandTimeout=120;
    ADOConnection1->ConnectionTimeout=120;
    AnsiString LinkStr;
    LinkStr  = "Provider=SQLOLEDB.1;Persist Security Info=false;Packet Size=16384;User ID=";
    LinkStr += DBUSERNAME;   //數據庫登錄名
    LinkStr += ";password=";
    LinkStr += DBUSERPWD;    //數據庫登錄密碼
    LinkStr += ";Initial Catalog=";
    LinkStr += DBNAME;       //數據庫名稱
    LinkStr += ";Data Source=";
    LinkStr += DBIP;     //數據庫所在機器IP(名稱)
    LinkStr += ";";
    ADOConnection1->ConnectionString=LinkStr;
    try
    {
        ADOConnection1->Connected=true;
    }catch(...)
    {
        return false;
    }
     ADOQuery1->Connection=ADOConnection1;
     ADOQuery2->Connection=ADOConnection1;
     ADOQuery3->Connection=ADOConnection1;
     ADOQuery4->Connection=ADOConnection1;
     ADOQuery5->Connection=ADOConnection1;
     return true;
}
//關閉數據庫
void TUserInfo::CloseDB()
{
      ADOConnection1->Close();
      DelDbContrl();
}
//構造數據庫控件
void TUserInfo::CreateDbContrl()
{
    DelDbContrl();
    ADOConnection1=new TADOConnection(NULL);
    ADOQuery1=new TADOQuery(NULL);
    ADOQuery2=new TADOQuery(NULL);
    ADOQuery3=new TADOQuery(NULL);
    ADOQuery4=new TADOQuery(NULL);
    ADOQuery5=new TADOQuery(NULL);
}
//析構數據庫控件
void TUserInfo::DelDbContrl()
{
    if(ADOConnection1)
    {
        delete ADOConnection1;
        ADOConnection1=NULL;
    }
    if(ADOQuery1)
    {
        delete ADOQuery1;
        ADOQuery1=NULL;
    }
    if(ADOQuery2)
    {
        delete ADOQuery2;
        ADOQuery2=NULL;
    }
    if(ADOQuery3)
    {
        delete ADOQuery3;
        ADOQuery3=NULL;
    }
    if(ADOQuery4)
    {
        delete ADOQuery4;
        ADOQuery4=NULL;
    }
    if(ADOQuery5)
    {
        delete ADOQuery5;
        ADOQuery5=NULL;
    }
}
//執行SQL語句
void TUserInfo::RunSQL(TADOQuery *ADOQuery,AnsiString strSQL,bool HaveReturn)
{
    ADOQuery->Close();
    ADOQuery->SQL->Clear();
    ADOQuery->SQL->Add(strSQL);
    try
    {
        if(HaveReturn)
           ADOQuery->Open();
        else ADOQuery->ExecSQL();
    }
    catch(Exception &E)
    {
       if(E.Message=="") MessageBox(Application->Handle,
                                    "數據庫操作失敗![連接超時]或者[數據庫結構錯誤]。","信息",
                                    MB_OK|MB_ICONWARNING);
       else MessageBox(Application->Handle,E.Message.c_str(),"信息",MB_OK|MB_ICONWARNING);
       Application->Terminate();
    }
    return;
}
bool TUserInfo::RunSQLNoOver(TADOQuery *ADOQuery,AnsiString strSQL,bool HaveReturn)
{
    ADOQuery->Close();
    ADOQuery->SQL->Clear();
    ADOQuery->SQL->Add(strSQL);
    try
    {
        if(HaveReturn)
           ADOQuery->Open();
        else ADOQuery->ExecSQL();
    }
    catch(Exception &E)
    {
       if(E.Message=="") MessageBox(Application->Handle,
                                    "數據庫操作失敗![連接超時]或者[數據庫結構錯誤]。","信息",
                                    MB_OK|MB_ICONWARNING);
       else MessageBox(Application->Handle,E.Message.c_str(),"信息",MB_OK|MB_ICONWARNING);
       return false;
    }
    return true;
}
//獲得特定手機號的下一條燈謎
AnsiString TUserInfo::GetDmBySim(AnsiString sim)
{
    //選出燈謎編號
    AnsiString strDmid;
    bool bNew=false;
    AnsiString strSQL="select dmid from table_log where handset='"+sim+"'";
    if(!RunSQLNoOver(ADOQuery3,strSQL,true)) return "ERROR";
    strDmid=ADOQuery3->FieldByName("dmid")->AsString;
    if(strDmid=="")
    {
        strSQL="select top 1 id from table_dm";
        if(!RunSQLNoOver(ADOQuery3,strSQL,true)) return "ERROR";
        strDmid=ADOQuery3->FieldByName("id")->AsString;
        bNew=true;
    }
    else
    {
        int iTmp=StrToInt(strDmid);
        
        iTmp++;
        strDmid=IntToStr(iTmp);
        strSQL="select top 1 id from table_dm where id="+strDmid;
        if(!RunSQLNoOver(ADOQuery3,strSQL,true)) return "ERROR";
        strDmid=ADOQuery3->FieldByName("id")->AsString;
        if(strDmid=="")
        {
            strSQL="update table_log set breal=1 where handset='"+sim+"'";
            if(!RunSQLNoOver(ADOQuery3,strSQL,false)) return "ERROR";
            return "您已經猜完了今天的燈謎,請明天再繼續,謝謝:)";
        }
    }
    //處理
    if(bNew)
    {
        strSQL="insert into table_log(handset,sendtime,dmid,answercount,grade) values(   \
        '"+sim+"', \
        '"+DateToStr(Date())+" "+TimeToStr(Time())+"', \
        "+strDmid+", \
        0, \
        0)";
        iUserCountToday++;
    }
    else
    {
        strSQL="update table_log set dmid="+strDmid+",sendtime='"+DateToStr(Date())+" "+TimeToStr(Time())+"',answercount=0,breal=0 where handset='"+sim+"'";
    }
    if(!RunSQLNoOver(ADOQuery3,strSQL,false)) return "ERROR";
    strSQL="select question from table_dm where id="+strDmid;
    if(!RunSQLNoOver(ADOQuery3,strSQL,true)) return "ERROR";
    return ADOQuery3->FieldByName("question")->AsString;
}
//添加一條猜燈謎信息
void TUserInfo::AddOneDm(AnsiString sim)
{
    AnsiString strTmp=GetDmBySim(sim);
    if(strTmp=="ERROR") return;
    SendDate(sim,strTmp);
}
//獲取所有答案
DynamicArray<AnsiString> TUserInfo::GetAllAnswer(AnsiString strAnswer)
{
    DynamicArray<AnsiString>dArrayAnser;
    AnsiString strTmp=strAnswer;
    bool bHavSymb;
    while(strTmp.Length()>0)
    {
        bHavSymb=false;
        for(int i=0;i<strTmp.Length();i++)
        {
            if(strTmp.SubString(i+1,1)=="+")
            {
                bHavSymb=true;
                dArrayAnser.Length++;
                dArrayAnser[dArrayAnser.Length-1]=strTmp.SubString(1,i);
                strTmp=strTmp.SubString(i+2,strTmp.Length()-(i+1));
                break;
            }
        }
        if((!bHavSymb)&&(strTmp.Trim()!=""))
        {
            dArrayAnser.Length++;
            dArrayAnser[dArrayAnser.Length-1]=strTmp;
            break;
        }
    }
    return dArrayAnser;
}
//處理一條燈謎信息
void TUserInfo::UserAnswer(AnsiString sim,AnsiString sDate)
{
    AnsiString strAnswer;
    AnsiString strSQL="select a.answer from table_dm a,table_log b where a.id=b.dmid and \
    b.handset='"+sim+"'";
    if(!RunSQLNoOver(ADOQuery1,strSQL,true)) return;
    if(ADOQuery1->RecordCount<1)
    {
        AnsiString strTmp=GetDmBySim(sim);
        if(strTmp=="ERROR") return;
        SendDate(sim,strTmp);
    }
    else
    {
        bool bReal=false;
        DynamicArray<AnsiString>dArrayAnser;
        dArrayAnser=GetAllAnswer(ADOQuery1->FieldByName("answer")->AsString);
        for(int i=0;i<dArrayAnser.Length;i++)
        {
            strAnswer = dArrayAnser[i];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区在线观看| 激情亚洲综合在线| 亚洲电影欧美电影有声小说| 丝袜美腿亚洲综合| 麻豆91在线播放免费| 成熟亚洲日本毛茸茸凸凹| 国产精品影视天天线| 一本一道久久a久久精品| 欧美一a一片一级一片| 日韩欧美视频一区| 久久久久久一二三区| 国产精品传媒入口麻豆| 午夜视频一区二区| 久久精工是国产品牌吗| caoporen国产精品视频| 欧美伊人精品成人久久综合97| 日韩三级精品电影久久久| 久久久精品一品道一区| 亚洲欧美影音先锋| 免费看日韩精品| 成人激情av网| 日韩一区二区三区精品视频| 久久久一区二区| 亚洲国产日韩一区二区| 精品在线观看免费| 麻豆freexxxx性91精品| 91福利精品第一导航| 日韩一区二区免费高清| 亚洲精品中文字幕乱码三区| 日韩av电影免费观看高清完整版 | 国产一区不卡视频| 色哟哟国产精品| 欧美久久婷婷综合色| 91国在线观看| 欧美精品在线观看播放| 制服丝袜国产精品| 国产日产欧产精品推荐色 | 91蜜桃免费观看视频| 亚洲日本乱码在线观看| 另类人妖一区二区av| 美美哒免费高清在线观看视频一区二区| 亚洲一区二区黄色| 一本大道av一区二区在线播放| 一区二区理论电影在线观看| 色欧美片视频在线观看| 欧美酷刑日本凌虐凌虐| 制服丝袜成人动漫| 日韩一级免费观看| 精品国产露脸精彩对白| 国产欧美精品一区二区色综合| 午夜私人影院久久久久| www.日韩av| 日韩精品一区二区三区在线| 国产精品丝袜久久久久久app| 国产精品综合在线视频| 亚洲欧美电影一区二区| 亚洲国产精品二十页| 日韩一区二区在线看| 成人美女视频在线观看| 亚洲人成7777| 99久久免费视频.com| 亚洲欧美另类小说视频| 91久久精品一区二区三| 亚洲国产精品影院| 暴力调教一区二区三区| 一区二区三区在线不卡| 欧美群妇大交群的观看方式| 日精品一区二区| 精品卡一卡二卡三卡四在线| 亚洲激情男女视频| 国产精品亚洲专一区二区三区| 色噜噜偷拍精品综合在线| 精品sm捆绑视频| 偷窥国产亚洲免费视频| 欧美视频在线不卡| 国产视频在线观看一区二区三区| 国产精品影视在线观看| 色欧美日韩亚洲| 午夜精品久久久久久久| 欧美国产日产图区| 91行情网站电视在线观看高清版| 一区二区在线观看不卡| 日韩精品在线看片z| av不卡一区二区三区| 日韩高清在线一区| 国产精品视频麻豆| 日韩一级片在线观看| 91原创在线视频| 精品一区二区成人精品| 天天操天天综合网| 2020国产精品自拍| 免费欧美在线视频| 精品欧美久久久| 国产乱一区二区| 亚洲激情第一区| 国产婷婷色一区二区三区四区| 国产精品天干天干在线综合| 午夜婷婷国产麻豆精品| 91.成人天堂一区| 天天色 色综合| 日韩视频一区二区| 午夜婷婷国产麻豆精品| 日韩一区二区三区精品视频| 久久精品国产亚洲5555| 久久精品男人天堂av| 9i在线看片成人免费| 亚洲同性同志一二三专区| 欧美午夜宅男影院| 日韩高清在线观看| 91精品婷婷国产综合久久 | 一区二区三区四区乱视频| 99综合影院在线| 视频一区视频二区中文字幕| 56国语精品自产拍在线观看| 国产又黄又大久久| 中文字幕av不卡| 成人高清免费观看| 丁香啪啪综合成人亚洲小说| 日韩免费观看2025年上映的电影| 亚洲18影院在线观看| 色哟哟一区二区三区| 国产欧美日韩久久| 日韩中文欧美在线| 欧美日韩高清一区二区不卡| 91一区在线观看| 色av综合在线| 久久久精品综合| 亚洲人成人一区二区在线观看| 97久久精品人人做人人爽| 亚洲国产裸拍裸体视频在线观看乱了 | 成人免费高清视频| 久久综合狠狠综合久久激情| 午夜视频在线观看一区| 国产一区二区三区四区五区美女 | 欧美一卡二卡在线| hitomi一区二区三区精品| 日本伊人色综合网| 欧美在线一二三| 日韩制服丝袜av| 中文字幕在线视频一区| 欧美日韩精品一区二区三区四区| 国产乱码字幕精品高清av| 亚洲精品第1页| 久久理论电影网| 精品视频一区二区不卡| 国产一区二区日韩精品| 亚洲成人在线观看视频| 久久久精品影视| 日韩欧美的一区| 91视频免费看| 国产成人精品综合在线观看| 亚洲第一综合色| 亚洲精品一区二区三区福利 | 国产精品美女久久久久久久网站| 91福利小视频| 高清在线不卡av| 日韩二区三区四区| 亚洲欧洲国产日韩| 久久久久久一二三区| 欧美性受极品xxxx喷水| 96av麻豆蜜桃一区二区| 久久电影网电视剧免费观看| 亚洲18女电影在线观看| 亚洲欧洲性图库| 欧美一区二区视频在线观看2022| 91成人国产精品| 99久久精品免费观看| 懂色av一区二区三区免费看| 三级在线观看一区二区 | 国产综合色在线视频区| 亚洲成在线观看| 日韩美女啊v在线免费观看| 欧美精品一区二区蜜臀亚洲| 欧美日韩成人综合天天影院 | 色伊人久久综合中文字幕| 国产成人在线网站| 亚洲精品ww久久久久久p站| 亚洲欧洲日产国产综合网| 久久亚洲综合色一区二区三区| 欧美一区二区三区在线| 欧美在线观看一区| 欧美在线视频不卡| 日本韩国精品在线| 99re视频精品| 韩国三级中文字幕hd久久精品| 亚洲一区二区美女| 玉足女爽爽91| 亚洲伦理在线精品| 国产精品短视频| 国产午夜精品一区二区三区四区| 精品国产一区久久| 亚洲精品在线电影| 久久久高清一区二区三区| 久久在线观看免费| 久久综合给合久久狠狠狠97色69| 91精品国产一区二区三区蜜臀| 日韩美女视频一区二区在线观看| 91精品国产欧美一区二区18| 日韩欧美一级特黄在线播放| 欧美一区二区在线免费播放|