无法将带 [] 的索引应用于“object”类型的表达式
十万火急!!!!!!!!!!!
为什么?会这样!Java就可以这样!更让我奇怪的是在程序中用for时,就可能用,
单个指定就不行!奇怪!
以下是代码:
这一部分是没有问题的!用new Object[]{ "aaa ", " "}测试过
public static OleDbDataReader ExecuteQuery(string sql,Object[] sqlParams)
{
OleDbConnection conn=connect();
OleDbCommand cmd = new OleDbCommand(sql,conn);
for(int i=0;i <sqlParams.Length;i++)
{
cmd.Parameters.Add( " "+i,sqlParams[i]);
}
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
return dr;
}
有问题:
string sql = "SELECT * FROM blsp_user where YHMC=? AND YHMM=? ";
string name=tbx_userId.Value.ToString();
string pwd=tbx_pwd.Value.ToString();
Object sqlParams = new object[2];
sqlParams[0]=name;
sqlParams[1]=pwd;
OleDbDataReader dr = NewSql.ExecuteQuery(sql,sqlParams);
提示:D:\admin\xtgl\login.aspx.cs(58): 无法将带 [] 的索引应用于“object”类型的表达式
请各位高手指点!
------解决方案--------------------Object sqlParams = new object[2];
sqlParams[0]=name;
sqlParams[1]=pwd;
这是什么意思?
如果是初始化一个object数组要这么定义:
Object[] sqlParams = new object[2];
而不能
Object sqlParams = new object[2];
即使这么做了,还是出错. 你为什么要把传入的参数赋值呢. 不明白你什么意思.