ORA-01036: 非法变量名/编号,oracle的特有错误

本文介绍了使用C#与Oracle数据库交互的过程,包括通过参数化查询实现用户登录验证及从数据库中检索详细用户信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle特有的错误,sqlserver是用@来表示变量,Oracle居然用:,小弟真是服了,这种错误,是个人就找不出来。

 

         string connstr = DbHelperOra.connectionString;
            OracleConnection conn = new OracleConnection(connstr);
            conn.Open();
            string sqlstr = "select count(*) from t_dm_gy_swry where swry_dm=:username and userpassword=:pwd";
            OracleCommand cmd = new OracleCommand(sqlstr, conn);
            cmd.Parameters.AddWithValue(":username", username);
            cmd.Parameters.AddWithValue(":pwd", pwd);

            string i=Convert.ToString(cmd.ExecuteOracleScalar());
      
            if (i.Equals("1"))
            {
                Model.T_DM_GY_SWRY t=new Model.T_DM_GY_SWRY();
                string strsql="select * from t_dm_gy_swry where swry_dm=:username";
                OracleParameter[] myParm = new OracleParameter[] { new OracleParameter(":username",OracleType.VarChar,100)};

                myParm[0].Value = username;
                DataSet ds = DbHelperOra.Query(strsql,myParm);
                DataRow dr = ds.Tables[0].Rows[0];
                t.MC = dr["MC"].ToString();
                return t;

            }
            else
            {
                return null;
            }
            conn.Close();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值