本帖最后由 windtalker_cs 于 2011-12-14 08:08 编辑
ADO如下方式调用存储过程:
//ObjID
//vValue=ObjID.c_str();
vValue=atoi(ObjID.c_str());
ParPtr=CmdPtr->CreateParameter("",adInteger,adParamInput,4,vValue);
CmdPtr->Parameters->Append(ParPtr);
//Gps时间
vValue.Clear();
vValue.vt=VT_DATE;
vValue.date=dbTime;
ParPtr=CmdPtr->CreateParameter("",adDBTimeStamp,adParamInput,8,vValue);
CmdPtr->Parameters->Append(ParPtr);
//lon
vValue=PBasePos.Lon;
ParPtr=CmdPtr->CreateParameter("",adSingle,adParamInput,sizeof(float),vValue);
CmdPtr->Parameters->Append(ParPtr);
//lat
vValue=PBasePos.Lat;
ParPtr=CmdPtr->CreateParameter("",adSingle,adParamInput,sizeof(float),vValue);
CmdPtr->Parameters->Append(ParPtr);
//Spead
vValue=PBasePos.Speed;
ParPtr=CmdPtr->CreateParameter("",adSmallInt,adParamInput,2,vValue);
CmdPtr->Parameters->Append(ParPtr);
//heading
vValue=PBasePos.Direction;
ParPtr=CmdPtr->CreateParameter("",adSmallInt,adParamInput,2,vValue);
CmdPtr->Parameters->Append(ParPtr);
//高度
vValue=0;
ParPtr=CmdPtr->CreateParameter("",adSmallInt,adParamInput,2,vValue);
CmdPtr->Parameters->Append(ParPtr);
//fMileage
vValue=PBasePos.Mileage;
ParPtr=CmdPtr->CreateParameter("",adDouble,adParamInput,8,vValue);
CmdPtr->Parameters->Append(ParPtr);
//状态
vValue=PBasePos.i64CarStatus;
ParPtr=CmdPtr->CreateParameter("",adBigInt,adParamInput,8,vValue);
CmdPtr->Parameters->Append(ParPtr);
string Status=PBasePos.Status;
if(Status.find("3D")!=string::npos)
{
vValue=1;
}else
{
vValue=0;
}
ParPtr=CmdPtr->CreateParameter("",adSmallInt,adParamInput,2,vValue);
CmdPtr->Parameters->Append(ParPtr);
//状态
if(Status.find("ACC开")!=string::npos)
{
vValue=1;
}else
{
vValue=0;
}
ParPtr=CmdPtr->CreateParameter("",adTinyInt,adParamInput,2,vValue);
CmdPtr->Parameters->Append(ParPtr);
vValue=0;
ParPtr=CmdPtr->CreateParameter("",adTinyInt,adParamInput,2,vValue);
CmdPtr->Parameters->Append(ParPtr);
char Text[1000];
sprintf_s(Text,1000,"pr_single_gps_data_ins");
CmdPtr->CommandText=Text;
CmdPtr->CommandType=adCmdStoredProc;
CmdPtr->CommandTimeout=1;
但是从调用的存储过程的结果来看。
[tr][td]7y4h9755gukak[/td][td]begin pr_single_gps_data_ins(:V00001, :V00002, :V00003, :V00004, :V00005, :V00006, :V00007, :V00008, 65229881351, :V00010, :V00011, :V00012); end;[/td][/tr]
[tr][td]880zmu0kd1bkx[/td][td]begin pr_single_gps_data_ins(:V00001, :V00002, :V00003, :V00004, :V00005, :V00006, :V00007, :V00008, 64760127491, :V00010, :V00011, :V00012); end;[/td][/tr]
[tr][td]
8ddavufs5ahs4[/td][td]begin pr_single_gps_data_ins(:V00001, :V00002, :V00003, :V00004, :V00005, :V00006, :V00007, :V00008, 64760127495, :V00010, :V00011, :V00012); end;[/td][/tr]
[tr][td]8
f9cyz73bjnx5[/td][td]begin pr_single_gps_data_ins(:V00001, :V00002, :V00003, :V00004, :V00005, :V00006, :V00007, :V00008, 65296998403, :V00010, :V00011, :V00012); end;
好像并没有绑定变量,是硬解析,这个参数唯一与其它不同的地方是OCCI中定义为一个BITINT。哪位大侠能给解释一下。。。。[/td][/tr]
|