C# 在c语言中传递oracle中的参数(visual studio 2013)

C# 在c语言中传递oracle中的参数(visual studio 2013),c#,asp.net,oracle,C#,Asp.net,Oracle,好的,我到处都在搜索,即使解决方案在那里,我也无法让它工作。我正在尝试绑定参数,但仍然可以看到将要发送到oracle的命令是Select*from ParentInfo,其中Uname=:new。我有oracle 11g express edition。请帮助,因为我是一个新手asp.net。 我的代码是这样的 using System; using System.Collections.Generic; using System.Linq; using System.Web; u

好的,我到处都在搜索,即使解决方案在那里,我也无法让它工作。我正在尝试绑定参数,但仍然可以看到将要发送到oracle的命令是Select*from ParentInfo,其中Uname=:new。我有oracle 11g express edition。请帮助,因为我是一个新手asp.net。 我的代码是这样的

using System;   
using System.Collections.Generic;    
using System.Linq;
using System.Web;
using System.Web.UI;   
using System.Web.UI.WebControls;   
using Oracle.ManagedDataAccess.Client;   
using Oracle.ManagedDataAccess.Types;    

namespace WebApplication4   
{
    public partial class WebForm1 : System.Web.UI.Page   
    {   
        string checkUser;   
        OracleDataReader reader;
        OracleDataReader rd; 
    protected void ButtonLogin_Click(object sender, EventArgs e)
    {
        OracleConnection con = new OracleConnection("User ID=system;Password = oracle;Data Source=localhost:1521/XE");
        con.Open();
        checkUser = "Select * from ParentInfo where Uname = :new ";                     
        OracleCommand cmd = new OracleCommand(checkUser, con);
        cmd.BindByName = true;            
        OracleParameter parameter = new OracleParameter();
        parameter.ParameterName = ":new";
        parameter.OracleDbType = OracleDbType.Varchar2;
        parameter.Value = TextBoxUserName.Text; 
        cmd.Parameters.Add(parameter);         
        reader = cmd.ExecuteReader();

即使这篇文章很旧,但它可能会帮助别人。我认为问题出在你身上

parameter.ParameterName = ":new";
参数名称应不带冒号:

parameter.ParameterName = "new";

我也试过了…仍然不起作用。我是否需要为使用DbType添加任何其他内容,因为它表明DbType在当前上下文中不存在。可能值得一试。请阅读;如何从查询中读取数据?@SearchAndResQ-我尝试使用System.data.OracleClient。但它仍然说DbType在当前上下文中不存在。@arndtdv-我使用reader.read;在我的if和else条件下,我忘了在这里发布。