当初不应该学Delphi,真该学VC++. 现在简单的VC问题,问问大家,帮忙!

wjohenw 2002-08-29 06:30:10
存储过程名为REPORT_ERROR,
SQLPrepare(hstmt, (unsigned char *)"{call REPORT_ERROR(?,?,?,?)}", SQL_NTS);
怎么能用SQLBindParameter执行,
我的存储过程4个参数 @Type int ,@UserName varchar(20),
@ReturnType int OutPut,@ReturnUserName varchar(20)

下面是VC的参数:
int Type
char UserID[ 20 ]
SQLBindParameter的各个参数是什么意思?谢谢了

绑定之后怎么执行,能写完整的最好了。谢谢了
...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyw 2002-08-30
  • 打赏
  • 举报
回复
SQLCHAR SalesPerson[11];
SQLINTEGER SalesPersonLenOrInd, CustIDInd;
SQLUINTEGER CustID;

// Bind SalesPerson to the parameter for the SalesPerson column and
// CustID to the parameter for the CustID column.
SQLBindParameter(hstmt1, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 10, 0,
SalesPerson, sizeof(SalesPerson), &SalesPersonLenOrInd);
SQLBindParameter(hstmt1, 2, SQL_PARAM_INPUT, SQL_C_ULONG, SQL_INTEGER, 10, 0,
&CustID, 0, &CustIDInd);

// Set the values of the salesperson and customer ID variables and length/indicators.
strcpy(SalesPerson, "Garcia");
SalesPersonLenOrInd = SQL_NTS;
CustID = 1331;
CustIDInd = 0;

// Execute a statement to get data for all orders made to the specified
// customer by the specified salesperson.
SQLExecDirect(hstmt1,"SELECT * FROM Orders WHERE SalesPerson=? AND CustID=?",SQL_NTS);
chenybin 2002-08-30
  • 打赏
  • 举报
回复
up
DELPHI和VC的应用领域不同,没有什么别的问题,个人认为,学好了都好,能编写出程序是主要的。个人看法,不好意思
mahongxi 2002-08-29
  • 打赏
  • 举报
回复
VC ADO SQLServer2000

=================

_CommandPtr Cmd;
_ParameterPtr retParam= NULL;
_ParameterPtr inParam=NULL;
_ParameterPtr outParam=NULL;

try
{
Cmd.CreateInstance(__uuidof(Command));
Cmd->ActiveConnection = GetMyApplication()->m_pConnection;
Cmd->CommandType = adCmdStoredProc;
Cmd->CommandText = _T("核查用户账号");

retParam = Cmd->CreateParameter(_bstr_t("Return"),adInteger,adParamReturnValue,sizeof(int));
Cmd->Parameters->Append(retParam);

inParam = Cmd->CreateParameter(_bstr_t("帐号"),adVarChar,adParamInput,50,_variant_t(user));
Cmd->Parameters->Append(inParam);

inParam = Cmd->CreateParameter(_bstr_t("密码"),adVarChar,adParamInput,50,_variant_t(pwd));
Cmd->Parameters->Append(inParam);

outParam = Cmd->CreateParameter(_bstr_t("单位"),adVarChar,adParamOutput,50);
Cmd->Parameters->Append(outParam);

outParam = Cmd->CreateParameter(_bstr_t("类型"),adVarChar,adParamOutput,50);
Cmd->Parameters->Append(outParam);

Cmd->Execute(NULL,NULL,adCmdStoredProc);

long retvalue = Cmd->Parameters->Item[(short)0]->Value;

_variant_t val = Cmd->Parameters->Item[(short)3]->Value;
if(val.vt==VT_NULL) unit.Empty();
else unit.Format((char *)_bstr_t(val));

val = Cmd->Parameters->Item[(short)4]->Value;
if(val.vt==VT_NULL) type.Empty();
else type.Format((char *)_bstr_t(val));

if(retvalue)
return TRUE;
return FALSE;
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox(_T("查询数据库失败!5"));///显示错误信息
AfxMessageBox(e.ErrorMessage());
return FALSE;
}

return FALSE;
liuguangzhou 2002-08-29
  • 打赏
  • 举报
回复
欢迎弃暗投明的同志,不过我爱莫能助,up

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧