//用GetErro()得到的错误..
[Microsoft][ODBC SQL Server Driver]字符串数据,右截位
[Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误
//下面是代码--
//----存储过程---输入/输出参数部分
CREATE PROCEDURE [dbo].[Bankpayment_querybill]
@tradeid VARCHAR(14),
@unit VARCHAR(4),
@apptype VARCHAR(4),
@counter VARCHAR(30),
@bankcode VARCHAR(3),
@zipcode VARCHAR(7),
@tel VARCHAR(21),
@tradetime datetime,
-- 输出
@outTradeid VARCHAR(14) output,
@outStartdate datetime output,
@outEnddate datetime output,
@outDetailcount int output,
@outDetail VARCHAR(256) output,
@outAccountName VARCHAR(100) output,
@outResultcode int output,
@outContract VARCHAR(20) output,
@outActualpyment NUMERIC(12, 2) output,
@outActualcost NUMERIC(12, 2) output,
@outStatistResultAccountid int output
//调用过程的参数是用结构体传的---下面是结构体
typedef struct _TelChargeInquires
{
char packageLen[4];
char operateNo[4];
char unitNo[4];
char feeBank[10];
char feeUser[10];
char tradingSerialNum[14];
char tradingTime[14];
char appType[4];
char bankBarCode[30];
char bankCode[3];
char responseSerialNum[14];
char tradingReturnCode[2];
char information[40];
char areaCode[7];
char telNumber[16];
char userName[30];
char contractNumber[20];
char feeStartTime[8];
char feeEndTime[8];
char feeDetailCount[2];
char feeDetails[FEE_DETAIL_MAX_LEN];
}TelChargeInquires;
typedef struct _QueryBillData
{
int Detailcount;
double feeBank;
double feeUser;
int StatistResultAccountid;
char tradingTime[25];
char tradingSerialNum[14];
char telNum[16];
int Resultcode;
}QueryBillData;
//调用函数,在数据库类里边..一些必要的初始化...省略了.
DB_ChargeInquires(TelChargeInquires &CInquires,QueryBillData &QueryData)
{
//.....申请语句句柄什么的...
//...绑定参数
Ret = SQLBindParameter(Hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,14,0,CInquires.tradingSerialNum,14,&cbTemp);
Ret = SQLBindParameter(Hstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,4,0,CInquires.unitNo,4,&cbTemp);
...
....
sprintf(SQLStr,"call Bankpayment_querybill(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
Ret = SQLExecDirect(Hstmt,(SQLCHAR *)SQLStr, SQL_NTS);
//-----就是这里Ret一直返回 -1;
//----然后用GetError()得到的是如上所说的错误
//---字符串数据,右截位.
}
还有我想问下?
1---- 对于 存储过程里的 datetime 类型...C里面该用什么类型去SQLBindParameter这个参数?
2---- 对于 存储过程里的 NUMERIC(12, 2) 类型,该用什么类型,还有SQLBindParameter 函数里的实参怎么配置? |