问题描述
string[]function=newstring[50];//定义字符串数组inti;SqlConnectioncon=newSqlConnection(SqlDB.GetConnString());//SqlDB.GetConnString()返回一个连接字符串stringcmd_text="selecte_function.*frome_rolefunctioninnerjoine_function"+"one_function.func_id=e_rolefunction.func_idwhererole_id='"+role_id.ToString()+"'orderbye_function.func_id";//注:查询结果不止一条记录SqlCommandcmd=newSqlCommand(cmd_text,con);con.Open();SqlDataReadersdr=cmd.ExecuteReader();if(sdr.Read()){function[]=(string)sdr["func_ename"];}for(i=0;i<function.Length;i++){this.function[i].Visible=true;}我的代码如上(不知错在哪里,望高手指点),我的原意是从数据库中查询出字段"func_ename"的内容,然后将查询结果(即字段内的内容)赋给一个字符串数组,此字符串数组的内容与WEB页中的一部分Panel控件的的id属性相同,然后通过for循环把this.控件id名(即字符数组内容).visible=true;错误信息为:错误1应输入标识符具体位置在这一行function[]=(string)sdr["func_ename"];
解决方案
解决方案二:
inti=0;if(sdr.Read()){function[i]=sdr["func_ename"].ToString();i++;}
解决方案三:
if(sdr.Read()){=(string)sdr["func_ename"];}////将if改成while,function[]中要指定index的