posts - 23,  comments - 20,  trackbacks - 0

数据库操作 
m_pConn->Execute((_bstr_t)strSQL , &index , 1);
第二个参数的值是影响的行数
有了这个  就可以在Update数据库的记录的时候不用先Select查看是否存在数据而执行两条SQL语句影响服务器的效率了


捕获ADO的数据库操作的异常
catch(_com_error e)
    {
        ::AfxMessageBox(e.Description() , MB_OK);
        
return FALSE;
    }
三 
将double类型的时间转换成时间字符串
CString strGPSTime;
    COleDateTime GPStime(GPSDate.gpsTime);
    strGPSTime 
= GPStime.Format("%Y-%m-%d %H:%M:%S");    //GPS时间

小技巧 在MFC的编辑框显示信息的时候  我以前一般都是 直接
m_strMsg += "提示信息:";
这样会出现往下拖  很烦人  
今天刚想到一个小技巧
在插入信息的时候 我们可以插入到头部去  这样就不会滚动 我们看到的就是最新的信息了
m_strMsg.Insert(0 , "信息提示:");

//10.22 新增
对话框的巧妙隐藏   不闪屏!
隐藏窗口
void CFlashThiefDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
    lpwndpos
->flags &= ~SWP_SHOWWINDOW;
    CDialog::OnWindowPosChanging(lpwndpos);    
}


判断数据库中的一张表是否存在的函数
//判断一张表是否存在
BOOL IsTableExsist(CString strTableName)
{
    
try 
    {    
        CStringArray arrTableNames;
        _RecordsetPtr Recordset   
=   m_pConn->OpenSchema(adSchemaTables);  
        _variant_t   l_vDBTableName;  
        _bstr_t   bstrTableType;        
        
while(!Recordset->adoEOF)  
        {  
            l_vDBTableName   
=   Recordset->GetCollect("TABLE_NAME");    
            bstrTableType   
=   Recordset->GetCollect("TABLE_TYPE");  
            
if   ((bstrTableType   ==   (_bstr_t)"TABLE")||(bstrTableType   ==   (_bstr_t)"VIEWS"))  
            {  
                arrTableNames.Add((
char   *)_bstr_t(l_vDBTableName));  
            }  
            Recordset
->MoveNext();  
        }  

        
int   iCount   =   arrTableNames.GetSize();   
        
for (int i = 0 ; i < iCount ; i++)
        {
            CString
& strName = arrTableNames[i];
            
if (strName == strTableName)
                
return TRUE;            
        }
    }
    
catch(_com_error& e)
    {
        ASSERT(FALSE);
        CString str;
        str.Format(
"文件名称: %s \n 所在代码行 : %d 执行SQL语句失败 错误原因 %s" , __FILE__ , __LINE__ , (LPCSTR)e.Description());
        TRACE(str);        
        AfxMessageBox(str);    
        
return FALSE;
    }

    
return FALSE;
}

以后再继续

posted on 2009-09-11 16:06 李佳 阅读(655) 评论(0)  编辑 收藏 引用 所属分类: 奇技淫巧

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用链接

留言簿

随笔分类

随笔档案

文章档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜