带有连接的OracleCommand参数

时间:2015-06-29 14:05:09

标签: c# sql oracle parameters connection

这有效:

 public class TestBean 
{
    @Schedule(interval = 1000)
    public void printSomething() 
    {
        System.out.println("Printed!");
    }
}

但是......我还想把第一个放在parametr命令中:

OracleCommand cm = con.CreateCommand();
cmd.CommandText = String.Format("select s,e from {0}" + ".DTREE where DATAID=:pDataId", credentialsthing.dbschema");
cmd.Parameters.Add("pDataId", objectx.theid);

这就失败了。为什么,语法应该是什么?

1 个答案:

答案 0 :(得分:1)

您的无法参数化您的表名,列名或任何其他数据库对象。

您只能参数化您的值。这就是为什么你需要为表名使用字符串连接的原因。

但是你应该非常小心这样做,你需要为你的表名提供强有力的验证,或者应该使用某种形式的白名单。