小编Mat*_*t M的帖子

如何在进行游标提取时判断哪条记录导致错误?

有没有办法在进行游标提取时判断哪条记录导致错误?例如,假设我有一个包含一列(varchar2)的表,"value",其中包含以下值:

1,2,3,4,g,5,6

我做以下事情:

DECLARE
    answer number;
    CURSOR c1 IS
    SELECT to_number(value) FROM table;
BEGIN
   OPEN c1;  
   LOOP
      FETCH c1 INTO answer;
      EXIT WHEN c1%NOTFOUND;
      DBMS_OUTPUT.PUT_LINE(answer);
   END LOOP;
   CLOSE c1;
 EXCEPTION WHEN invalid_number THEN    
    dbms_output.put_line('an invalid number exception was encountered');
END;
Run Code Online (Sandbox Code Playgroud)

在遇到'g'之前,它会没有问题吗?这是我正在尝试调试的真正问题的一个简单示例.在实际示例中,它输出异常消息,而不是其他任何内容.这是否意味着它是第一个导致问题的记录,或者它不能以这种方式工作?

sql oracle plsql oracle11g

3
推荐指数
1
解决办法
949
查看次数

PlSql翻译功能问题

我创建了一个光标来选择实际数据,然后循环输出原始值和转换为数字后的值.该应用程序偶尔会抛出无效的数字错误.下面是我的测试(不包括select语句)代码和输出.

LOOP
  FETCH myCursor into v_answer;
  EXIT WHEN myCursor%notfound;

  DBMS_OUTPUT.PUT_LINE('Raw answer: ' || v_answer );

  v_instr := INSTR(v_answer, '.',1 , 2) ;
  v_number := TO_NUMBER(REPLACE(TRANSLATE (CASE v_instr 
                                             WHEN 0 THEN UPPER(v_answer)
                                             ELSE 0 
                                           END,'ABCDEFGHIJKLMNOPQURSTWVXYZ+<>:',' '), ' ',''));

   DBMS_output.put_line('As number: ' || v_number);
Run Code Online (Sandbox Code Playgroud)

这是输出:

Raw answer: 4
As number: 4
Raw answer: 3
As number: 3
Raw answer: 1.00
As number: 1
Raw answer: <3
Run Code Online (Sandbox Code Playgroud)

我收到:

PL/SQL:数字或值错误:字符到数字转换错误

......当Raw回答为"<3"时.

请注意,应用程序使用的实际代码如下所示:

AND TO_NUMBER(REPLACE(TRANSLATE ( decode( INSTR(hra_ans.answer_text, '.',1 , 2), 0 , UPPER(hra_ans.answer_text) , …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle11g ora-06502 ora-01722

3
推荐指数
1
解决办法
1684
查看次数

尝试反转char数组时出错

我正在努力改进C++(我知道一点).我正在研究字符数组.我找到了一个练习,其目标是反转一个字符数组(在我从一个整数转换后).我收到以下错误(使用VS2005):

运行时检查失败#2 - 变量'revBuffer'周围的堆栈已损坏.

当我单步执行代码时,我会注意到以下内容:

revBuffer = 0x0012fe40"100899ÌÌ","998001"

相关代码如下.

    char buffer[5];
    char revBuffer[5];
    int i;
    int j=5;
    long number = 998001;

    itoa(number, buffer, 10);

    for(i=0; i<strlen(buffer);i++)
    {
        revBuffer[j] = buffer[i];
        j--;
    }
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.TIA!

c

2
推荐指数
2
解决办法
371
查看次数

如何在MVC视图上启用/禁用Html帮助程序

我开始玩MVC了.我做了NerdDinner演练,现在我正在创建一个显示Northwinds数据库中产品的简单项目.我有一个详细信息视图,一个创建视图和一个编辑视图.我想出了如何显示布尔属性"Discontinued"的复选框,但我希望在详细信息视图上禁用该控件(因为编辑视图用于编辑).这就是我所拥有的:

<div class="display-label">Discontinued: <%: Html.CheckBoxFor(Function(model) model.Discontinued)%></div>
Run Code Online (Sandbox Code Playgroud)

我不确定如何进入或设置复选框的启用属性.(我想我可以用javascript来做,但我认为有更好的方法).谢谢您的帮助.

asp.net-mvc

2
推荐指数
1
解决办法
3811
查看次数

程序包正文中列出的程序,但不是规范

我对Oracle很新,不过很新 - 但我正在学习.我有一个编译没有错误的包.当我打开身体(使用TOAD)时,我可以看到一个程序,但同样的程序没有出现在规范中.什么会导致这个?

提前致谢.

oracle plsql

2
推荐指数
1
解决办法
5067
查看次数

CustomValidator - 没有Text属性问题的ErrorMessage属性

我有一个要求,要求自定义验证器.用户希望验证字段旁边有一个红色星号.星号应始终显示 - 表示该字段是必需的(取决于选中/取消选中的复选框).验证摘要中显示的错误消息相当长.我使用了星号的标签,因为控件位于.ascx用户控件中,该控件在多个页面上使用,有时星号应显示,有时则不应显示.因为我不希望错误消息显示在字段旁边而我不想要两个星号,所以我尝试不设置自定义验证器的Text属性.但是,这会导致错误消息显示文本显示的位置.我也尝试通过代码将text属性设置为String.Empty,但也没有用.我在SO,Google或MSDN上找不到任何内容.

我想出的唯一解决方案是将text属性设置为星号,并将forecolor设置为白色,从而有效地使其不可见.

如果没有这种解决方法,有没有办法完成我想做的事情?

提前致谢!

.net customvalidator

2
推荐指数
1
解决办法
1519
查看次数

角度表单不会发布到外部URL

我正在制作一个网站,该网站的表单需要对外部付款提供商进行POST。但是,我需要检查组件的代码以检查用户是否首先经过身份验证。如果没有,我需要通过我的webapi来更新值。收到响应后,我可以继续对外部URL进行POST。我的代码如下所示:

 onSubmit(form: any): void {  
         //for anonymous orders, we need to store the email before we send the form
         if(this.loggedIn){
            form.submit(); 
         }
         else{
             this.cartService.updateUserEmail(this.cart.id, this.email)
                             .subscribe(() => form.submit())
         }
  }
Run Code Online (Sandbox Code Playgroud)

如果this.loggedIn为true,则POST可以正常工作。仅当我需要调用cartService时,form.submit才起作用。有时,控制台显示错误,“对象不包含方法commit()”,有时,控制台中什么也没得到...。

这是开幕表格标记:

<form #cartForm="ngForm" (ngSubmit)="onSubmit(cartForm)" method="post" [action]="cart.paymentUrl" >
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

编辑 这是我的提交按钮的标记,根据要求:

<button type="submit">CHECKOUT</button>
Run Code Online (Sandbox Code Playgroud)

angular2-forms angular

2
推荐指数
1
解决办法
1989
查看次数

C#演员问题 - 简洁

抱歉这个糟糕的问题标题.有没有办法在一行上执行此操作:

Button button = (Button)Gridview.Cells[0].FindControl("controlname");
button.Enabled = (some boolean);
Run Code Online (Sandbox Code Playgroud)

例如,vb中的directcast将允许:

DirectCast(Gridview.Cells(0).FindControl("controlname"), Button).Enabled = (some boolean value)
Run Code Online (Sandbox Code Playgroud)

还是需要两行?

谢谢!

.net c#

1
推荐指数
2
解决办法
144
查看次数