说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Exception: 关键字 'Case' 附近有语法错误。源错误: 
行 515:                catch (System.Data.SqlClient.SqlException ex)
行 516:                {
行 517:                    throw new Exception(ex.Message);
行 518:                }
行 519:                return ds;
 源文件: C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\DBUtility\DbHelperSQL.cs    行: 517 堆栈跟踪: 
[Exception: 关键字 'Case' 附近有语法错误。]
   Maticsoft.DBUtility.DbHelperSQL.Query(String SQLString) in C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\DBUtility\DbHelperSQL.cs:517
   Web.DAL.CaseDAL.GetList(String strWhere) in C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\DAL\CaseDAL.cs:215
   Web.BLL.CaseBLL.GetModelList(String strWhere) in C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\BLL\CaseBLL.cs:118
   UserCenter_CaseManager.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\Web2\UserCenter\CaseManager.aspx.cs:27
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627 using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Web.Model;
using Web.BLL;
using System.Collections.Generic;public partial class UserCenter_CaseManager : System.Web.UI.Page
{
    CaseBLL manager = new CaseBLL();
    CaseModel model = new CaseModel();
    string condition = string.Format("ID>0 order by SummitTime desc");
    protected void Page_Load(object sender, EventArgs e)
    {        if (!IsPostBack)
        {
            this.gdvLink.DataSource = manager.GetModelList("");
            this.gdvLink.DataBind();
            CommonOperation.DataBounButtonConfirm(this.btnDeleSelect);
            BindNewsDatalist();        }
    }
    protected void gdvLink_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        CommonOperation.DataBounLinkButtonDeleConfirm(e);
        CommonOperation.DataBounGridViewBackColor(e);
    }
    protected void gdvLink_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int ID = int.Parse(gdvLink.DataKeys[e.RowIndex].Value.ToString());
        manager.Delete(ID);
        MessageBox.Show("删除成功!", "CaseManager.aspx");    }    //删除选定的信息
    protected void btnDeleSelect_Click(object sender, EventArgs e)
    {
        for (int i = 0; i <= this.gdvLink.Rows.Count - 1; i++)
        {
            CheckBox cbox = (CheckBox)gdvLink.Rows[i].FindControl("cbkItem");
            if (cbox.Checked == true)
            {
                int ID = Convert.ToInt32(gdvLink.DataKeys[i].Value);
                manager.Delete(ID);
                MessageBox.Show("删除成功!", "CaseManager.aspx");            }
        }
        BindNewsDatalist();
        this.cbkselecAll.Checked = false;
    }
    private void BindNewsDatalist()
    {
        IList<CaseModel> infos = new List<CaseModel>();
        infos = this.manager.GetModelList(condition);
        this.AspNetPager1.RecordCount = infos.Count;
        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = infos;
        pds.AllowPaging = true;
        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
        pds.PageSize = this.AspNetPager1.PageSize;
        this.gdvLink.DataSource = pds;
        this.gdvLink.DataBind();    }
    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
        BindNewsDatalist();
    }
    protected void cbkselecAll_CheckedChanged(object sender, EventArgs e)
    {
        CommonOperation.SelectAll(gdvLink, e, cbkselecAll);
    }}

解决方案 »

  1.   

    出错的地方不在你贴出来的代码中。在位置 C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\DBUtility\DbHelperSQL.cs文件的第517行  Maticsoft.DBUtility.DbHelperSQL.Query(String SQLString) 调用这个方法,传入的SQL语句有问题。
      

  2.   

    SQL 写错了?设置断点跟踪进去。看看
      

  3.   

    检查这2个地方那个方法中的Case语句是不是写错了1)、Web.DAL.CaseDAL.GetList(String strWhere) 
    C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\DAL\CaseDAL.cs文件的第215
    2)、 Web.BLL.CaseBLL.GetModelList(String strWhere) 
     C:\Documents and Settings\Administrator\桌面\网域引擎\解决方案\BLL\CaseBLL.cs文件的第118
      

  4.   

    SQL语句中的 case 部分出现了错误。
      

  5.   

    SQL是语法错误!仔细检查下!