• OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)[转]


    在使用OracleParameters时,CommandText 中的参数要以":"开头,不能包含@等特殊字符。而在其它地方引用到此参数时可以不必加上":",程序会自动为其加上":"

                        OracleCommand oracmd = oracon.CreateCommand();
                        oracmd.CommandText = "select gas_user_no,vol_page,user_name,user_address,unit from gas_meter where gas_user_no = :gas_userno";
                        if (!oracmd.Parameters.Contains("gas_userno"))
                        {
                            oracmd.Parameters.Add(new OracleParameter("gas_userno", OracleDbType.Varchar2, ParameterDirection.Input));
                        }
                        oracmd.Parameters["gas_userno"].Value = “666666”
                        OracleDataAdapter da = new OracleDataAdapter();
                        da.SelectCommand = oracmd;
                        DataTable dt = new DataTable();
                        da.Fill(dt);


                        OracleDataReader dr = oracmd.ExecuteReader();

    以下为转载内容:

    CommandType 属性设置为StoredProcedure 时,CommandText 属性应设置为存储过程的名称。如果存储过程名称包含任何特殊字符,则可能会要求用户使用转义符语法。当调用 Execute 方法之一时,该命令将执行此存储过程。

    用于 Oracle 的 .NET Framework 数据提供程序在向由CommandType.Text 的OracleCommand 调用的 SQL 语句传递参数时不支持问号 (?) 占位符。在这种情况下,必须使用命名的参数。例如:

     
    复制代码
     示例

    下面的示例创建一个 OracleCommand 并显示其参数。要完成此任务,请向该方法传递一个OracleConnection、一个查询字符串(它是 SQL SELECT 语句)和一个OracleParameter 对象数组。

        public void CreateOracleCommand(OracleConnection connection,
            string queryString, OracleParameter[] myParamArray)
        {
    
            OracleCommand command = new OracleCommand(queryString, connection);
            command.CommandText = 
                "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal";
    
            for (int j = 0; j < myParamArray.Length; j++)
                command.Parameters.Add(myParamArray[j]);
    
            string message = "";
    
            for (int i = 0; i < command.Parameters.Count; i++) 
                message += command.Parameters[i].ToString() + "
    ";
    
            Console.WriteLine(message);
    
            using (OracleDataReader row = command.ExecuteReader()) 
            {
                while(row.Read()) 
                {
                    Console.WriteLine(row.GetValue(0));
                }
            }
        }
  • 相关阅读:
    flask和tornado的区别
    tornado1
    人脸识别
    ocr:img转成pdf,pdf转成pdf
    flask2
    《个人-GIT使用方法》
    课后作业-阅读任务-阅读笔记
    课后作业-阅读任务-阅读提问
    结对-四则运算生成器-设计文档
    团队-手机备忘录-开发环境搭建过程
  • 原文地址:https://www.cnblogs.com/jimcsharp/p/4832164.html
Copyright © 2020-2023  润新知