Command.CommandText ="SELECT getprice(参数) Price FROM Dual";
float fltPrice = (float)Command.ExecuteScalar();
float fltPrice = (float)Command.ExecuteScalar();
解决方案 »
- SQL server 2008 激活码过期问题
- winform中datagridview控件插入checkbox列,并在绑定数据是,修改当前行的checkbox的是否选中状态
- visio 2003中 如何表示泛型
- 关于yahoo财经数据接收问题。
- 如何电击按钮关闭窗体但是不弹出对话框
- Visual studio 2005正式版,哪位兄弟有下载地址?????
- C#中出来了点问题,#"计算1/3+3/5+5/7+…….+97/99的和"(分别用for,while和do while来实现)编写的代码?
- 美女变形的问题
- json多层数组反序列化。
- datagrid问题
- 哪有免费发短信的软件下载?至少有三个月时间是免费的哦
- Response.Redirect("aaa.aspx",1);
cn.Open();
OracleCommand cmd=cn.CreateCommand();
cmd.CommandText=="SELECT hotelman.getprice(1101) Price FROM hotelman.room";//存储过程名(550)
float fltPrice = (float)Command.ExecuteScalar();//(551)
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("调用成功"); }
catch(Exception err)
{
throw new Exception(err.Message);
}
finally
{
cn.Close();
}返回错误Form1.cs(550): 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句
Form1.cs(551): 不可访问“System.Windows.Forms.Command”,因为它受保护级别限制
未处理的“System.Exception”类型的异常出现在 testoracle.exe 中。其他信息: ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'GETPRICE' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
源码如下:
public void testfunctoin()
{
string strCon="user id=system;data source=oradb;password=sa";
OracleConnection connection = new OracleConnection( strCon );
OracleCommand command = new OracleCommand("hotelman.getprice", connection);
OracleParameter parameters = new OracleParameter("Rno", OracleType.VarChar);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add( parameters );
connection.Open();
try
{
command.ExecuteNonQuery();
int returnValue =int.Parse( parameters.Value.ToString()); //接收函数返回值
MessageBox.Show("调用成功"+returnValue.ToString()); }
catch(Exception err)
{
throw new Exception(err.Message);
}
finally
{
connection.Close();
}数据表如下:
roomROOMNO varchar2 10
TYPEID number
POSITION varchar2 100
OBJLIST varchar2 400
PRICE number 8 2
STATUS number 1 0
float fltPrice = (float)Command.ExecuteScalar();//(551)
还有没看见,老兄,赋值能用 "=="号吗?请注意这句: CommandText="SELECT getprice(1101) Price FROM dual";
SELECT getprice(1101) Price FROM dual这句拿到SQLPlus或PL/SQL中执行,看有没有结果?
*
ERROR 位于第 1 行:
ORA-00904: "GETPRICE": 无效的标识符
顶楼你没有把源代码贴全,申明部门没有贴出来。
( Rno IN HOTELMAN.Room.RoomNo%Type )
RETURN number
AS
outPrice number;
BEGIN
SELECT Price INTO outPrice FROM HOTELMAN.Room
WHERE RoomNo=''||Rno||'';
RETURN outPrice;
END GetPrice;
{
string strCon="user id=system;data source=oradb;password=sa";
OracleConnection connection = new OracleConnection( strCon );
OracleCommand command = new OracleCommand("hotelman.getprice", connection);
OracleParameter parameters = new OracleParameter("Rno", OracleType.VarChar);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add( parameters );
connection.Open();
try
{
command.ExecuteNonQuery();
int returnValue =int.Parse( parameters.Value.ToString()); //接收函数返回值
MessageBox.Show("调用成功"+returnValue.ToString()); }
catch(Exception err)
{
throw new Exception(err.Message);
}
finally
{
connection.Close();
} }
OR
CommandText=="SELECT HOTELMAN.getprice(\'1101\') Price FROM dual";TEST?
CommandText="SELECT HOTELMAN.getprice('1101') Price FROM dual";
但是我不懂,dual指的是什么?请告知!谢谢!~
CommandText="SELECT HOTELMAN.getprice('1101') Price FROM dual";
但是我不懂,dual指的是什么?请告知!谢谢!~