//执行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();
但是 不能得到返回者, 这个是个麻烦~! 但还没有寻找到好的解决办法~!