jquery报错: "object expected"

*****************************************************
**************     jquery报错:   *******************
*****************************************************
1. "object expected"错误:  是jquery库的引用方式不对引起的。
  错误的引用方式:   <script src="/js/jquery-1.3.2.min.js" type="text/javascript"> </script>
  正确的引用方式:   <script language="javascript" type="text/javascript" src="../js/jquery-1.3.2.js"> </script>
   
    另外包含js脚本的语法写法如下(书写不标准也会报错"object expected"):
        <script language="javascript" type="text/javascript">    </script>
       
       
2.Jquery在vs2005和vs2008中的语法也有很大不同(应用时要稍加注意),比如: 

    //无参数调用
        $(document).ready(function() {
            $('#btn1').click(function() {
                $.ajax({
                    type: "POST",  
                    contentType: "application/json",
                    url: "MyWebService2.asmx/HelloWorld",
                    data: "{}",           
                    dataType: 'json',
                    success: function(result) {    
                        $('#dictionary').append(result);          ****** 注释:vs2005回调函数中获取返回值的方式。
                    }
                });
            });
        });   
       
       
     //无参数调用
        $(document).ready(function() {
            $('#btn1').click(function() {
                $.ajax({
                    type: "POST",  
                    contentType: "application/json",
                    url: "WebService1.asmx/HelloWorld",
                    data: "{}",            
                    dataType: 'json',
                    success: function(result) {    
                        $('#dictionary').append(result.d);        ****** 注释:vs2008回调函数中获取返回值的方式。
                    }
                });
            });
        });
**************   -------- end  --------   *******************

<think>我们正在处理一个SQL语法错误的问题,用户遇到了"THEN expected but error"的错误。根据常见的SQL语法,这通常发生在CASE语句中,因为CASE语句要求每个WHEN子句后面必须跟随一个THEN子句。如果缺少THEN,就会报错。 另外,参考引用[2]中提到了一个删除重复记录的SQL语句,其中使用了子查询和GROUP BY,这可能与用户的问题无关,但表明用户可能在处理数据操作。 用户的问题:"请问SQL THEN expected but error solution",即寻求解决"THEN expected"错误的方案。 解决方案: 1. 检查CASE语句的语法:确保每个WHEN后面都有THEN,并且THEN后面跟着表达式。 2. 检查是否有拼写错误:例如将THEN误写为其他单词。 3. 检查是否在应该使用THEN的地方使用了其他关键字(如ELSE)?但错误信息明确提示期望THEN,所以很可能是THEN缺失。 示例: 错误写法: ```sql SELECT CASE WHEN score >= 90 'A' WHEN score >= 80 'B' ELSE 'C' END AS grade FROM students; ``` 正确写法: ```sql SELECT CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' ELSE 'C' END AS grade FROM students; ``` 另外,也可能是在其他需要THEN的上下文中(例如触发器中的WHEN条件)使用了CASE,但同样需要遵循相同的语法规则。 因此,解决方案就是检查出现错误的SQL语句中的CASE表达式,确保每个WHEN子句后都紧跟着THEN子句。 生成相关问题: 1. SQL CASE语句的基本语法是什么? 2. 除了CASE语句,还有哪些情况会导致"THEN expected"错误? 3. 如何调试复杂的SQL语句中的语法错误?</think>### SQL语法错误:THEN expected 解决方案 当SQL报错"THEN expected"时,通常表示**CASE表达式**语法结构不完整。以下是常见原因和解决方案: #### 错误原因分析 1. **缺少THEN子句**:每个WHEN条件后必须紧跟THEN ```sql -- 错误示例(缺少THEN) SELECT CASE WHEN score > 90 'A' ``` 2. **THEN位置错误**:THEN应紧接在WHEN条件后 ```sql -- 错误示例(THEN位置错误) SELECT CASE WHEN score > 90 ELSE 'B' THEN 'A' END ``` 3. **嵌套CASE缺失THEN**:多层CASE时内层漏写THEN ```sql -- 错误示例(内层CASE缺THEN) SELECT CASE WHEN type=1 THEN (CASE WHEN subtype=2 'X') ELSE 'Y' END ``` #### 解决方案 1. **基础修复**:确保每个WHEN都有对应的THEN ```sql -- 正确语法 SELECT CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' -- 每个WHEN后必须有THEN ELSE 'C' END AS grade FROM students; ``` 2. **复杂表达式处理**:嵌套CASE时逐层检查 ```sql SELECT CASE WHEN dept='IT' THEN CASE WHEN experience > 5 THEN 'Senior' -- 内层也需THEN ELSE 'Junior' END ELSE 'Other' END AS level FROM employees; ``` 3. **验证工具使用**: - 在Oracle SQL Developer中按`F5`进行语法检查 - 使用在线校验工具:SQL Fiddle/SQL Validator - 分段调试:先注释掉CASE部分,逐步添加子句 > **注意**:该错误也可能出现在触发器定义中(如`WHEN (condition)`后需接`THEN`),需检查完整上下文[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值