小编sst*_*tan的帖子

如何修改列的大小

我在Oracle SQL Developer中创建了表Test_Project2.之后我意识到列proj_name的大小很小,所以我决定使用follwoing语句修改列

ALTER TABLE TEST_PROJECT2 MODIFY proj_name VARCHAR2(300);
Run Code Online (Sandbox Code Playgroud)

但由于某些原因,Oracle SQL Developer用红色强调了分号,我不知道什么是错误以及如何纠正它

Test_Project2:

CREATE TABLE Test_Project2 (
proj_id number(30),
proj_name VARCHAR2 (30),
proj_desc VARCHAR2(300)
);
Run Code Online (Sandbox Code Playgroud)

oracle alter-table oracle-sqldeveloper

33
推荐指数
3
解决办法
15万
查看次数

如何聚合布尔列

我怎样才能聚合这样的一些元组

COL_1 | COL_2 | COL_3 | COL_4
 val  |   T   |   F   |   F
 val  |   F   |   T   |   F
Run Code Online (Sandbox Code Playgroud)

用OR函数返回下表?

COL_1 | COL_2 | COL_3 | COL_4
 val  |   T   |   T   |   F
Run Code Online (Sandbox Code Playgroud)

sql oracle

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

.Net中的Oracle连接池

我们有一个使用Oracle数据库的系统.我被问到系统是否使用了我不确定的连接池.

我们正在使用 Oracle.DataAccess.Client.OracleConnection

在阅读主题时,我发现连接字符串中的连接池设置为true,默认情况下设置为true.

我们的连接字符串不包含任何池设置.这是否意味着我们正在使用池化,如果是这样,默认的最小和最大池大小是多少?在隐式使用连接池(即未在连接字符串中指定)的情况下,我无法找到有关这些值的信息.

.net c# oracle odp.net

9
推荐指数
1
解决办法
6327
查看次数

由于约束错误,无法在C#中实现VB接口

我无法弄清楚这一点,我不知道为什么.抱歉,这是一个糟糕的问题,我在VB中有以下界面

Public Interface IFoo  

    Sub ExecuteSQL(sql As String, ParamArray parameters() As SqlParameter)
    Sub ExecuteSQL(sql As String, useTransaction As Boolean, ParamArray parameters() As SqlParameter)
    Function ExecuteSQLAsync(sql As String, ParamArray parameters() As SqlParameter) As Task
    Function ExecuteSQLAsync(sql As String, useTransaction As Boolean, ParamArray parameters() As SqlParameter) As Task
    Function ExecuteSQL(Of T As Structure)(sql As String, ParamArray parameters() As SqlParameter) As T
    Function ExecuteSQL(Of T As Structure)(sql As String, useTransaction As Boolean, ParamArray parameters() As SqlParameter) As T
    Function ExecuteSQLAsync(Of T As Structure)(sql …
Run Code Online (Sandbox Code Playgroud)

c# vb.net visual-studio visual-studio-2013

8
推荐指数
1
解决办法
139
查看次数

Java分配查询

情况1

byte b = 7; // why don't I need to cast 7 to byte in this case? byte b = (byte)7;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)

输出: 7

案例2

static void fun(byte b) {
   System.out.println(b);
}

public static void main(String []args) {
   fun(7); // Compiler gives error because a cast is missing here.
}
Run Code Online (Sandbox Code Playgroud)

输出: 编译错误:method fun(byte) is not applicable for the argument (int).

我的问题是:在案例1中,如何从一个7隐式地转换byteint,而在案例2中它强制程序员明确地转换它?

7仍在范围内byte.

请建议.

java

5
推荐指数
1
解决办法
55
查看次数

Visual Studio 2015:插值字符串表达式中的"Cast is redundant"警告无效

考虑一下这个在Visual Studio 2015中编译得很好的简单程序:

public class Program
{
    enum Direction
    {
        Up,
        Down,
        Left,
        Right
    }

    static void Main(string[] args)
    {
        // Old style
        Console.WriteLine(string.Format("The direction is {0}", Direction.Right));
        Console.WriteLine(string.Format("The direction is {0}", (int)Direction.Right));

        // New style
        Console.WriteLine($"The direction is {Direction.Right}");
        Console.WriteLine($"The direction is {(int)Direction.Right}");
    }
}
Run Code Online (Sandbox Code Playgroud)

...按预期输出:

The direction is Right
The direction is 3
The direction is Right
The direction is 3
Run Code Online (Sandbox Code Playgroud)

但是,Visual Studio 2015特别建议在此行中建议"快速操作":

// "Cast is redundant" warning
Console.WriteLine($"The direction is {(int)Direction.Right}");
Run Code Online (Sandbox Code Playgroud)

它坚持认为(int) "演员是多余的",并建议作为"删除不必要的演员" …

c# casting string-interpolation c#-6.0 visual-studio-2015

5
推荐指数
1
解决办法
1065
查看次数

ORA-01438: 该列允许的值大于指定的精度 - 如何获取它所引用的列?

我们是否有任何标准的 Oracle 错误表或任何东西来识别我在表中的哪一列输入了大于指定精度的值。

ORA-01438: value larger than specified precision allows for this column- 我如何获得它所指的列?

sql oracle plsql

5
推荐指数
1
解决办法
5739
查看次数

如果我调用Thread.Join(),我是否需要volatile?

在Java中,如果只在加入突变它的线程后才访问它,则字段不需要是volatile; 联接在关系之前强制执行.

在c#怎么样?使用下面的代码,我保证在调用Join()之后会看到_value的更新值,或者我是否需要使_value变为volatile?

private String _value = "FOO"

public void Foo() 
{

   Thread myThread = new Thread(Bar);
   myThread.Start();
   myThread.Join();
   Console.WriteLine("[Main Thread] _val = "+ _value);

}

public void Bar()
{

   for(int i=0; i<1000; i++)
   {
         Console.WriteLine("Looping");

         if(i==75) 
         {
             _value="BAR";
         }
   }
   Console.WriteLine("DONE Looping");
}
Run Code Online (Sandbox Code Playgroud)

在我的代码片段中,是否会打印"BAR"?

c# concurrency volatile

5
推荐指数
1
解决办法
294
查看次数

Oracle SQL - 由char cast组

在group-by子句中使用char-cast会导致意外情况:

select cast(col as char(2)) from (
  select 'Abc' as col from dual
  union all
  select 'Abc' as col from dual
) group by cast(col as char(10));
Run Code Online (Sandbox Code Playgroud)

结果是'Abc '(10个字符长).直观地说,我原以为Oracle会返回以下其中一项:

  • 错误:'not group-by expression',因为group-by子句不是selection子句
  • 长度为2的结果'Ab'.

替换cast(col as char(2))cast(col as char(3)),Oracle返回错误'不是分组表达式'.这也是一种非常奇怪的行为.

怎么解释这个?它背后的原因是什么?

我正在使用Oracle SQL 11g.

sql oracle group-by oracle11g

5
推荐指数
0
解决办法
885
查看次数

SQL注入单引号漏洞

你好,我正在测试我正在研究的网站.一些开发人员试图通过用双引号替换每个引号来避免SQL注入.这是C#代码:

string sql = 
  @"SELECT *
      FROM users
     WHERE us_username = '$us'
       AND us_password = '$pw'";    

sql.Replace("$pw", txtPassword.Text.Replace("'","''"));
Run Code Online (Sandbox Code Playgroud)

有什么方法可以执行SQL注入攻击吗?我尝试了Unicode技巧,但它没有用.该数据库在SQL Server 2008R2上运行.

c# sql sql-server sql-injection code-injection

4
推荐指数
1
解决办法
1624
查看次数