Qt调用多参数的存储过程怎么实现?
[sp_insertZone] ?,?,?,?,? output,? output
像这样的写易做图报sql的语法错误
如果输出参数只有一个且放置在最后位置就没错
QODBCResult::exec: Unable to execute statement: "[Microsoft][ODBC SQL Server Driver][SQL Server]'?' 附近有语法错误。 [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。 [Microsoft][ODBC SQL Server Driver]没有提供需要的指示器变量 [Microsoft][ODBC SQL Server Driver]没有提供需要的指示器变量 --------------------编程问答-------------------- 写的是啥
乱码
--------------------编程问答--------------------
我是这样调用存储过程
#define OutParas QMap<int, QVariant>
QString procname_para_insert = "[sp_insertTest] ?,?,?,?,? output,? output";
SqlHelper sqlh(dsn);
sqlh.Connect();
//这一句执行存储过程返回输出参数列表
OutParas outs = sqlh.ProcedureParas(procname_para_insert,paraList);
//调用的这个
OutParas SqlHelper::ProcedureParas(QString &procName, QList<SqlPara> paras)
{
db.open();
QSqlQuery query = QSqlQuery(db);
QString sql = QString("exec ") + QString(procName);
query.prepare(sql);
qDebug()<<sql<<endl;
QList<SqlPara>::iterator para_it;
for(para_it=paras.begin(); para_it!=paras.end(); para_it++)
{
SqlPara para = *para_it;
query.bindValue(para.pos, para.value, para.type);
}
query.exec();
OutParas outs = GetOutList(query, paras);
last_error = query.lastError();
db.close();
return outs;
}
补充:移动开发 , Qt