另弱弱地问下,怎么将数据库里的数据写入到数组.
我定义了一个string数组.
public string[] x;
在datareader读取数据后.
循环
x[i] = recm["jd"].tostring()
这样为什么会出错.在javascript里 var n = <%=x%> 这样直接获得,不行吗?

解决方案 »

  1.   

    在x[i] = recm["jd"].tostring()
    这里设置断点看看出错提示
    var n = <%=x%>这样能获得字符串,不能获得数组
      

  2.   

    public string[] x;
    是否需要先声明一下个数?我也不确定
      

  3.   

    x[i]=myreader.Tables[0].Rows[i].ItemArray.Clone
      

  4.   

    1,“如何将cs文件里的string数组传递给javascript里去 ”
    你把string的数组 放到一个服务器端的隐藏控件(TextBox)的Text值里。比如(aa|bb|cc)
    然后在JS里 用document.getElementById("控件ID"); 获取该控件,然后获取此控件的Text值
    然后把值按|分割为数组。
    2,x[i] = recm["jd"].tostring() 这样为什么会出错.
    因为你的x 并没有实列话,系统不知道这个数组有几个。你直接调 第i个 系统怎么会知道这个位置有没有对象,
    把public string[] x;
    改为public string[] x =new string[数组个数];
    即可解决
      

  5.   

    我平时用的方法:
    用异步回调,实现ICallbackEventHandler接口
    后台代码:
       #region ICallbackEventHandler 成员  public string GetCallbackResult()
      {
        string[] chattos = MessageTalking.RequestMan();
        if (chattos == null)
          return null;
        else
          return string.Join(",", chattos);  //将数组转化成string
      }
      public void RaiseCallbackEvent(string eventArgument)
      {
      }
      #endregion前台:
       function CallServer(){
               <%# ClientScript.GetCallbackEventReference(this, "", "_GetResult", "")%>;           
              }
               
            function _GetResult(result)
            {
              //result为接收到的string
                var chattos=new Array();
               chattos=result.split(',');          //将string仍然转化成数组   
           }
      

  6.   

    数组的个数根据数据库数据的多少来确定,那该怎么初始化????x = new string[] {}
    这个 string[] 里面该怎么填写???
      

  7.   

    数组的个数根据数据库数据的多少来确定,那该怎么初始化????
    先访问数据库 得到数据的个数 。
    x = new string[数据的个数]
      

  8.   

    这个数据的个数不确定啊.
    比如我获得 select count(stid) a from 表
    datareader recm = new datareader
     
     x = new string[recm["a"]]{} ??????
     这样????
     好象 string[] 里面只能写常数的.
      

  9.   

    你把查出来的个数转换为int 类型的 放进去啊。
      

  10.   

    将cs文件里的数组直接传递到javascript里去,只需要
     var n = <%= "[" + string.Join(",",xx) + "]"%>
    这样就行.
    cs文件里定义过 string[] xx = {"a","b,","c"} 这个解决了,可怎么初始化string数组的长度.