C#,Oracle 为何添加参数出错

出错:ORA-01036:非法的变量名/编号代码如下:publicintLogin(){data.OpenConn();stringSqlString="SELECT*F... 出错:ORA-01036: 非法的变量名/编号
代码如下:
public int Login()
{
data.OpenConn();
string SqlString = "SELECT * FROM mytest WHERE (SYSNAME = '@SYSNAME') AND (SYSPWD = '@SYSPWD')";
OracleCommand cmd = new OracleCommand(SqlString,data.conn);
//添加参数
cmd.Parameters.Add(new OracleParameter("@SYSNAME",OracleType.VarChar,30));
cmd.Parameters.Add(new OracleParameter("@SYSPWD",OracleType.VarChar,30));
cmd.Parameters["@SYSNAME"].Value = "ycj";
cmd.Parameters["@SYSPWD"].Value = "123";
int count = 0;
OracleDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
count++;
}
sdr.Close();
return count;
}
求各位大神指点
展开
 我来答
沃客吧
2015-04-09 · TA获得超过521个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:280万
展开全部

参数名称不是@开头,换成冒号开头,如   

string SqlString = "SELECT * FROM mytest WHERE (SYSNAME = :SYSNAME) AND (SYSPWD = :SYSPWD)";
            OracleCommand cmd = new OracleCommand(SqlString,data.conn);
            //添加参数
            cmd.Parameters.Add(new OracleParameter(":SYSNAME",OracleType.VarChar,30));
     卖举帆带       cmd.Parameters.Add(new OracleParameter(":SYSPWD",OracleType.VarChar,30));
    中轿碧        cmd.Parameters[":SYSNAME"].Value = "ycj";
            cmd.Parameters[":SYSPWD"].Value = "123";
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式