搞了好久,搞不定,大家帮我看看。
js:
<SCRIPT language=JavaScript>    function listtt(idstr, idstrna, idt) {
        var userid = "<%=ls_login_name %>";
        var count = '<%= Getcount("' + idstr + '","' + userid + '") %>';
        alert(count );
    }   
</SCRIPT>后台:
public int Getcount(string prg,string login)
        {
            string prg1 = "",userid = "";
            string sql = "";
            SqlConnection sqlcon = new SqlConnection("Persist Security Info=True;Initial Catalog=weboa;User ID=sa;Password=sa;Data Source=.;");
            try
            {
                sqlcon.Open();
                sql = "select count(*) from sys_form_grant where form_no = '" + prg + "' and login_no='"+login+"'";
                SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
                int i = Convert.ToInt32(sqlcom.ExecuteScalar());
                sqlcom.Dispose();
                sqlcon.Close();
                return i;
            }
            catch (Exception r)
            {
                sqlcon.Close();
                return 0;
            }
        }
现在的问题是:js中传入了正确的值,是字符串型,在后台中我执行sql语句,这句sql = "select count(*) from sys_form_grant where form_no = '" + prg + "' and login_no='"+login+"'";出问题了,变量的传入好像有问题,执行不成功,去掉sql语句中where语句后就没问题,我不清楚是不是单引号,双引号的问题,弄来弄去弄不出来,请教应该怎么弄.JavaScriptSQL异常

解决方案 »

  1.   

    你将生成的Sql语句放在sql Server中看看报什么错,就知道是什么问题了。
      

  2.   

    是的。要debug 才知道!这个容易解决
      

  3.   

    用ajax
    var count= $.ajax({
      url: "some.aspx",data:{"act":"Getcount","idstr":idstr,"userid":userid},
      async: false
     }).responseText; 
    some.aspx.cs
    protected void Page_Load(object sender, EventArgs e)
    {
       if(Request.QueryString["act"]!=null){
            switch (Request.QueryString["act"])
            {
                case "Getcount":
                    Response.Write(Getcount(Request.QueryString["idstr"], Request.QueryString["userid"]));
                    break;        }
            Response.End()
        }
    }
    public int Getcount(string prg,string login)
            {
                string prg1 = "",userid = "";
                string sql = "";
                SqlConnection sqlcon = new SqlConnection("Persist Security Info=True;Initial Catalog=weboa;User ID=sa;Password=sa;Data Source=.;");
                try
                {
                    sqlcon.Open();
                    sql = "select count(*) from sys_form_grant where form_no = '" + prg + "' and login_no='"+login+"'";
                    SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
                    int i = Convert.ToInt32(sqlcom.ExecuteScalar());
                    sqlcom.Dispose();
                    sqlcon.Close();
                    return i;
                }
                catch (Exception r)
                {
                    sqlcon.Close();
                    return 0;
                }
            }
      

  4.   

    又是一个前端和后端不分的JS调用服务端的CS 方法,请使用Ajax