我代码中使用 otl 通过ODBC连接MySql, 执行语句时抛出异常,找不到原因
代码如下 otl_stream os_db;
try
{
os_db.open(100,"select @curRow := @curRow + 1 as rowno,t.name from (select @curRow:= 0) t, emploee t ",conn_db);
while (!os_db.eof())
{
} }
catch(otl_exception *e)
{
}
catch(...)
{
//执行open语句进入到此处。。!!!!!!!!
}
代码如下 otl_stream os_db;
try
{
os_db.open(100,"select @curRow := @curRow + 1 as rowno,t.name from (select @curRow:= 0) t, emploee t ",conn_db);
while (!os_db.eof())
{
} }
catch(otl_exception *e)
{
}
catch(...)
{
//执行open语句进入到此处。。!!!!!!!!
}
from (select @curRow:= 0) t, emploee t 你看看是不是 你的两个表的别称都是 t 导致的
别称是我贴代码写错了,不是别称的问题,用OTL_Stream open执行变量语句就报错
别称是我贴代码写错了,不是别称的问题,用OTL_Stream open执行变量语句就报错我猜也是里面包含了@变量导致的,但是光看你的代码,看不出哪儿有问题。另外,你用的是 OTL_ODBC_MYSQL 这个吧,适用于mysql的
别称是我贴代码写错了,不是别称的问题,用OTL_Stream open执行变量语句就报错我猜也是里面包含了@变量导致的,但是光看你的代码,看不出哪儿有问题。另外,你用的是 OTL_ODBC_MYSQL 这个吧,适用于mysql的是定义的OTL_ODBC_MYSQL
目前执行不使用@变量的查询语句都是正常的,使用了变量查询语句就报错,异常是
别称是我贴代码写错了,不是别称的问题,用OTL_Stream open执行变量语句就报错我猜也是里面包含了@变量导致的,但是光看你的代码,看不出哪儿有问题。另外,你用的是 OTL_ODBC_MYSQL 这个吧,适用于mysql的是定义的OTL_ODBC_MYSQL
目前执行不使用@变量的查询语句都是正常的,使用了变量查询语句就报错,异常是
那就不用@变量吧,还有其他的方法,用过这个也可以实现 row_number的效果:select (select count(*) from emploee t1 where t1.主键 <= t.主键 ) as rowno,t.name from emploee t
MySQL中的ROWNUM的实现
MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Que...