请问一下我如何把下面SQL中查询出来的MenuName字段赋给一个变量?另外,我如何在JS中读到这个变量?谢谢!(因为我要在JS中做一些判断等)
---------请帮忙写的详细点,本人水平太低,担心看不懂,谢谢!            // 取得web.config中的链接字符串
            string connstr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["TestConnectString"].ConnectionString;
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
 
            string sql = "select MenuName as cou from Menu where MenuNo='" + Server.HtmlEncode(this.TextBox1.Text) + "'";            SqlParameter param1 = new SqlParameter();
            param1.ParameterName = "@MenuNo";
            param1.Value = this.TextBox1.Text;            cmd.CommandText = sql; 
            cmd.Parameters.Add(param1);            object flag = cmd.ExecuteScalar();
            cmd.Parameters.Clear();            conn.Close();

解决方案 »

  1.   

    public string d;object flag = cmd.ExecuteScalar();
    d = flag.ToString();
    aspx
    里面var d = "<%=d%>";
      

  2.   

    sqldatareader reader=comm.ExecuteReader();
    string x=reader.GetString(表中字段的index)
    依次类推,datetime类型什么的都一样
      

  3.   

    前台要绑定的话 就需要在后台public这个变量 前台<%=%>可以取到值
      

  4.   


    按照你的意思,我改写了,不过还是报错啊,你那个“表中字段的index”是什么意思?
                SqlDataReader reader = cmd.ExecuteReader();
                string d = reader.GetString(1);
      

  5.   

    ExecuteScalar
    返回第一行第一列的内容,应该是没有问题的
      

  6.   

    public object flag {get;set;}
    flag = cmd.ExecuteScalar();
    获取第一行第一列值<%=flag %>
    public string s{get;set;}
    SqlDataRead dr=cmd.ExecuteReader();
    if(dr.HasRows && dr.Read())
    {
     s=dr["MenuName "].ToString();
    }
      

  7.   

    SqlDataRead dr=cmd.ExecuteReader();
    if(dr.HasRows && dr.Read())
    {
     s=dr["MenuName "].ToString();
    }