您的位置:首页 > 编程语言 > C语言/C++

c++通过存储过程访问数据库库(ado)

2008-10-21 17:32 351 查看
_ConnectionPtr m_pConnection ;
CString m_dbserver= "127.0.0.1";

CString m_initDb = "PhoneManage";
CString m_username = "sa";
CString m_passwd = "";
CString strConnection = "Provider=SQLOLEDB.1;Data Source=" + m_dbserver +
";Initial Catalog=" + m_initDb +
";User ID=" + m_username + "; PWD=" + m_passwd;
//////////////////////////////////////////////////////////////////////////
//连接SQL Server 数据库
//////////////////////////////////////////////////////////////////////////
try
{
HRESULT hr;
hr = m_pConnection.CreateInstance("ADODB.Connection");

if(SUCCEEDED(hr))
{

hr = m_pConnection->Open((_bstr_t)strConnection,"","",-1);

_CommandPtr m_pCommand;
m_pCommand.CreateInstance("ADODB.Command");
m_pCommand->ActiveConnection = ConnectPtr;
m_pCommand->CommandType = adCmdStoredProc;
m_pCommand->CommandText=_bstr_t("p_insert_user");
_ParameterPtr ptr1,ptr2,ptr3,ptr4,ptr5;
ptr1=m_pCommand->CreateParameter("p_UserName",adVarChar,adParamInput,12,_variant_t(m_strName));
m_pCommand->Parameters->Append(ptr1);
ptr2=m_pCommand->CreateParameter("p_PassWord",adVarChar,adParamInput,6,_variant_t(m_strPSW));
m_pCommand->Parameters->Append(ptr2);
ptr3=m_pCommand->CreateParameter("p_UserCode",adVarChar,adParamInput,10,_variant_t(m_strCode));
m_pCommand->Parameters->Append(ptr3);
ptr4=m_pCommand->CreateParameter("p_UserNote",adVarChar,adParamInput,10,_variant_t(m_strNote));
m_pCommand->Parameters->Append(ptr4);
ptr5= m_pCommand->CreateParameter("p_Admin",adVarChar,adParamInput,40,_variant_t(strManager));
m_pCommand->Parameters->Append(ptr5);
m_pCommand->Execute(NULL,NULL,adCmdStoredProc);
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
AfxMessageBox("数据库连接未成功!");
}

存储过程简单为:

CREATE PROCEDURE p_insert_user
@p_UserName char(12),
@p_PassWord char(6),
@p_UserCode char(10),
@p_UserNote char(10),
@p_Admin char(40)

AS
begin
insert into UserTable(UserName,PassWord,UserCode,UserNote,Admin)
values(@p_UserName,@p_PassWord,@p_UserCode,@p_UserNote,@p_Admin)
end
GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: