sql语句VS编译出错,PLSQL里正常运行,在线求助 语句:select rank() over(order by XXX desc) as XXX from XXX 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 然后执行到DataAdapter或者DataReader时就报错 你在dataAdater前面的几行代码上面打断点调试,看看给数据库执行的语句是什么 ashx文件<%@ WebHandler Language="C#" Class="Handler" %>using System;using System.Web;using System.Data.OleDb;public class Handler : IHttpHandler { OleDbConnection conn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OraConnection"].ToString()); OleDbCommand cmd = new OleDbCommand(); public void ProcessRequest(HttpContext context) { conn.Open(); cmd.Connection = conn; OleDbTransaction odt = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted); cmd.Transaction = odt; context.Response.ContentType = "text/plain"; try { cmd.CommandText = "select (rank() over(order by a.sz desc)) mc from jsbxx a"; OleDbDataAdapter daZbpx = new OleDbDataAdapter(cmd); System.Data.DataSet dsZbpx = new System.Data.DataSet(); daZbpx.Fill(dsZbpx,"zbpx"); odt.Commit(); context.Response.Write("{"); context.Response.Write("\"statusCode\":\"200\",\"message\":\"操作成功\",\"navTabId\":\"page3\",\"rel\":\"\","); context.Response.Write("\"callbackType\":\"\",\"forwardUrl\":\"\",\"confirmMsg\":\"\""); context.Response.Write("}"); } catch (OleDbException ex) { odt.Rollback(); context.Response.Write("{"); context.Response.Write("\"statusCode\":\"300\",\"message\":\"操作失败(" + ex.Message.ToString() + ")\",\"navTabId\":\"page3\",\"rel\":\"\","); context.Response.Write("\"callbackType\":\"\",\"forwardUrl\":\"\",\"confirmMsg\":\"\""); context.Response.Write("}"); } } public bool IsReusable { get { return false; } } protected void Page_UnLoad(object sender, EventArgs e) { try { cmd.Cancel(); conn.Close(); conn.Dispose(); } catch { } }} select rank() over(oder by))) mc from jsbxx a正确的应该是select (rank() over(order by a.sz desc)) mc from jsbxx a 这个是测试用的,不管在ORDER BY 后面加什么,都是报缺少右括号图来了 100分求助,请问这个Select 如何对指定月的月份进行按日统计 imp老问题重谈,先给100分,不够再给,只到解决问题 一个关于jdbc的问题 在线等待!如何知道update影响的行数,要求在客户端的sql里实现,不能调用服务器端存贮过程 触发器问题 oracle创建与mysql的dblink 失败 oracle数据库报错,应用连接不上,有详细错误代码,高分在线等大神 如何对查询出来的重复列赋空值 Oracle 中 几千万条数据 查询 sql 性能优化 oracle 备份数据 Orace序列怎样恢复从1开始
<%@ WebHandler Language="C#" Class="Handler" %>using System;
using System.Web;
using System.Data.OleDb;
public class Handler : IHttpHandler {
OleDbConnection conn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OraConnection"].ToString());
OleDbCommand cmd = new OleDbCommand();
public void ProcessRequest(HttpContext context)
{
conn.Open();
cmd.Connection = conn;
OleDbTransaction odt = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
cmd.Transaction = odt;
context.Response.ContentType = "text/plain";
try
{ cmd.CommandText = "select (rank() over(order by a.sz desc)) mc from jsbxx a";
OleDbDataAdapter daZbpx = new OleDbDataAdapter(cmd);
System.Data.DataSet dsZbpx = new System.Data.DataSet();
daZbpx.Fill(dsZbpx,"zbpx"); odt.Commit();
context.Response.Write("{");
context.Response.Write("\"statusCode\":\"200\",\"message\":\"操作成功\",\"navTabId\":\"page3\",\"rel\":\"\",");
context.Response.Write("\"callbackType\":\"\",\"forwardUrl\":\"\",\"confirmMsg\":\"\"");
context.Response.Write("}"); }
catch (OleDbException ex)
{
odt.Rollback();
context.Response.Write("{");
context.Response.Write("\"statusCode\":\"300\",\"message\":\"操作失败(" + ex.Message.ToString() + ")\",\"navTabId\":\"page3\",\"rel\":\"\",");
context.Response.Write("\"callbackType\":\"\",\"forwardUrl\":\"\",\"confirmMsg\":\"\"");
context.Response.Write("}");
} }
public bool IsReusable {
get {
return false;
}
}
protected void Page_UnLoad(object sender, EventArgs e)
{
try
{
cmd.Cancel();
conn.Close();
conn.Dispose();
}
catch { }
}
}
正确的应该是select (rank() over(order by a.sz desc)) mc from jsbxx a
图来了