oracle的parameters怎么用,OracleParameter 的使用(參數名要以:開頭,不允許包含@等特殊字符)[轉]...

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 voidCreateOracleCommand(OracleConnection connection,stringqueryString, OracleParameter[] myParamArray)

{

OracleCommand command= newOracleCommand(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() + "\n";

Console.WriteLine(message);using (OracleDataReader row =command.ExecuteReader())

{while(row.Read())

{

Console.WriteLine(row.GetValue(0));

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值