3

I am trying to inserting four fields taken from an asp .net form into a table in database but I am unable to do it. Please give me completely compiled code which works and is succesful in entering 4 values into db

Here is the code which i used

 <script type="text/javascript">
    $(document).ready(function () {
        $("#<%= Button1.ClientID %>").click(function () {
           /* $(".style2").hide();
            return false; */
            var name = $('#<%=TextBox1.ClientID%>').val();
            var email = $('#<%=TextBox2.ClientID%>').val();
            var phone = $('#<%=TextBox3.ClientID%>').val();
            var message = $('#<%=TextBox4.ClientID%>').val();
            var json = "{'" + name + "','" + email + "','" + phone + "','" + message + "'}";
            alert("comes here");
            $ajax({
                  type:"POST",
                  url:"JqueryFunction.aspx/insert_details",

                  data:'{name: "' + $("#<%=TextBox1.ClientID%>")[0].value + '",email: "' + $("#<%=TextBox2.ClientID%>")[0].value + '",phone: "' + $("#<%=TextBox3.ClientID%>")[0].value + '",message: "' + $("#<%=TextBox4.ClientID%>")[0].value + '"}',

                  clientType:"application/json; charset=utf-8",
                  datatype:"json",
                  async: false,
                  success: function () { alert("success"); },
                  error: function(){alert("error");}
                  });
        });
    });
</script>

and here is the insert_details function:

public static void insert_details(string name,string emailid,string phone,string message)
{
    SqlConnection Con = new SqlConnection(@"Server=HP-PC;Integrated Security=True;" + "Database=DB1");
    //Console.WriteLine("connected to db");
    string query = "INSERT INTO [SubmissionFormTable]([Name],[Email],[Phone],[Message])" +
                "VALUES (@Name,@Email,@Phone,@Message)";

    SqlCommand cmd = new SqlCommand(query, Con);
    cmd.Parameters.AddWithValue("@Name", name);
    cmd.Parameters.AddWithValue("@Email", emailid);
    cmd.Parameters.AddWithValue("@Phone", phone);
    cmd.Parameters.AddWithValue("@Message", message);

    try
    {
        Con.Open();

        cmd.ExecuteNonQuery();
    }
    catch (Exception)
    {
        throw;
    }
    finally
    {
        Con.Close();
    }
    //string str_insert = "INSERT INTO remark VALUES(@remark)";

    //SqlParameter[] parameter = {
    //        new SqlParameter("@remark", remark),
    //    };
   // int abc = DBclass.TruyVan_XuLy_VoiThamSo(str_insert, parameter);
}

1 Answer 1

1

update your js code like below and try to use JSON.stringify to convert value to JSON for pass your parameters :

$(document).ready(function () {
        $("#<%= Button1.ClientID %>").click(function () {
            var name = $('#<%=TextBox1.ClientID%>').val();
            var email = $('#<%=TextBox2.ClientID%>').val();
            var phone = $('#<%=TextBox3.ClientID%>').val();
            var message = $('#<%=TextBox4.ClientID%>').val();
            var data = JSON.stringify({ name: name, email: email, phone: phone, message: message });
            alert("comes here");
            $ajax({
                  type:"POST",
                  url:"JqueryFunction.aspx/insert_details",
                  data:data,
                  contentType: "application/json; charset=utf-8",
                  datatype:"json",
                  success: function () { alert("success"); },
                  error: function(){alert("error");}
                  });
        });
    });

above code has'nt problem.

Edited :
your method should be a WebMethode :

[System.Web.Services.WebMethod]
public static void insert_details(string name,string emailid,string phone,string message)
{
    SqlConnection Con = new SqlConnection(@"Server=HP-PC;Integrated Security=True;" + "Database=DB1");
    //Console.WriteLine("connected to db");
    string query = "INSERT INTO [SubmissionFormTable]([Name],[Email],[Phone],[Message])" +
                "VALUES (@Name,@Email,@Phone,@Message)";

    SqlCommand cmd = new SqlCommand(query, Con);
    cmd.Parameters.AddWithValue("@Name", name);
    cmd.Parameters.AddWithValue("@Email", emailid);
    cmd.Parameters.AddWithValue("@Phone", phone);
    cmd.Parameters.AddWithValue("@Message", message);

    try
    {
        Con.Open();

        cmd.ExecuteNonQuery();
    }
    catch (Exception)
    {
        throw;
    }
    finally
    {
        Con.Close();
    }
    //string str_insert = "INSERT INTO remark VALUES(@remark)";

    //SqlParameter[] parameter = {
    //        new SqlParameter("@remark", remark),
    //    };
   // int abc = DBclass.TruyVan_XuLy_VoiThamSo(str_insert, parameter);
}
Sign up to request clarification or add additional context in comments.

2 Comments

?Updated it accordingly but still the values doent enter the db
try use firebug to captuer your ajax requests.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.