关于SQL语句的执行

//执行SQL语句的方法

if(lstrlen(Username_in)>0 && lstrlen(Passwords_in)>0)
  {
   CString passwords ;

   CString cs_sql;
   cs_sql.Format(_T("SELECT passwords from  NameTable where username ='%s'"),Username_in);

   try
   {   ///执行select语句
    m_set.Open(CRecordset::dynaset,cs_sql);//.GetBuffer(sql.GetLength()// AFX_DB_USE_DEFAULT_TYPE
    m_set.GetFieldValue(_T("passwords"),passwords);
    ///查询用户密码
    char *Temp;
    //WideCharToMultiByte(CP_ACP,0,varPassword
    if(passwords == Passwords_in)
    {
     AfxMessageBox(_T("密码正确,热烈欢迎~~!"));
    }
    else
    {
     AfxMessageBox(_T("密码错误"));
    }

   }
   catch(CException *ex)
   {
    AfxMessageBox(_T("用户名错误"));
   }

//注意Open()方法只有执行 Select语句比较好用~!很怪异

//用GetFieldValue()取得结果

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

如果想要 执行 存储过程 或是 比较复杂的 SQL语句 可以使用以下函数:

CDatabase.ExecuteSQL();

但是 不能得到返回者, 这个是个麻烦~! 但还没有寻找到好的解决办法~!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章