我写了一个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()方法将抛出错误"missing expression“,谁能告诉我为什么?我当时很困惑
提前感谢!
发布于 2016-11-04 14:29:43
使用:而不是@。
 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;https://stackoverflow.com/questions/40416130
复制相似问题