gpt4 book ai didi

c# - 甲骨文.DataAccess.Client.OracleException : ORA-00936: missing expression

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:20 27 4
gpt4 key购买 nike

我编写了一个 C# 控制台程序来尝试从 Oracle 查询一些数据,这是一个非常简单的查询,但我不知道为什么它在运行时总是告诉我“缺少表达式”,请参见下面的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.DataAccess.Client;
using System.Configuration;

namespace ConnectToOracle
{
class Program
{
static void Main(string[] args)
{

string strCon = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

using (OracleConnection oc = new OracleConnection(strCon))
{
OracleCommand cmd = new OracleCommand("select dname from dept where deptno = @deptno", oc);
OracleParameter op = new OracleParameter();
op.ParameterName = "@deptno";
op.OracleDbType = OracleDbType.Int32;
op.Direction = System.Data.ParameterDirection.Input;

cmd.Parameters.Add(op);
oc.Open();
string dname = (string)cmd.ExecuteScalar();
}
}
}
}

所以,在最后一行,cmd.ExecuteScalar() 方法会抛出错误“缺少表达式”,谁能告诉我为什么?我很困惑

提前致谢!

最佳答案

使用:代替@

 OracleCommand cmd = new OracleCommand("select dname from dept where deptno = :deptno", oc);
OracleParameter op = new OracleParameter();
op.ParameterName = "deptno";
op.OracleDbType = OracleDbType.Int32;
op.Direction = System.Data.ParameterDirection.Input;

引用:OracleCommand.Parameters Property

关于c# - 甲骨文.DataAccess.Client.OracleException : ORA-00936: missing expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40416130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com