简体   繁体   English

将json数据从Web服务放置到sql数据库

[英]placing the json data to sql database from webservice

This is the particular webservice code where i retrieve the username ,how i can i write c# code to place json data to sql database in webservice and display the acknowledgement in html page 这是特定的Web服务代码,我在其中检索用户名,如何编写C#代码以将JSON数据放入Web服务中的sql数据库并在html页面中显示确认

public class AjaxService : System.Web.Services.WebService
{
    [WebMethod]
    public bool CheckUserNameAvailability(string userName)
    {
        List<String> userNames = new List<string>() { "azamsharp", "johndoe", "marykate", "alexlowe", "scottgu" };

        var user = (from u in userNames
                    where u.ToLower().Equals(userName.ToLower())
                    select u).SingleOrDefault<String>();

        return String.IsNullOrEmpty(user) ? true : false; 

    }

}

} }

Decorate your AjaxService class as follows: 如下装饰AjaxService类:

[WebService(Description = "Web services to query the book database.", Namespace ="http://www.your-site-url.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class AjaxService: System.Web.Services.WebService
{

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public bool CheckUsernameAvailability(string userName, Options options)
    {
        return this.WriteToSql(options);
    }

    private bool WriteToSql(Options options)
    {
        bool result = false;

        try
        {
            SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString);

            SqlCommand command = new SqlCommand("INSERT_OPTION", connection);
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.Add("@Option1", SqlDbType.NVarChar, 20).Value = options.Option1;
            command.Parameters.Add("@Optoin2", SqlDbType.Bit).Value = (options.Option2 == true ) ? 1 : 0;

            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();

            result = true;
        }
        catch(Exception ex)
        {
            //do some logging here...
            result = false;
        }

        return result;
    }
}

[Serializable]
public class Options
{
    public string Option1 { get; set; }
    public bool Option2 { get; set; }
}

Then your JQuery would look like this: 然后,您的JQuery将如下所示:

$( function(){

    $.ajax({
        type: 'POST',
        contentType: "application/json; charset=utf-8",
        url: "AjaxService.asmx/CheckUsernameAvailability",
        data: { userName: 'TestUsername', options: { Option1: 'test', Option2: 'false' } },
        success: function(msg) {
            //display acknowledgement here. DO NOT USE EVAL! It's bad.

            var result = eval(msg);
            alert(result);
        } 
    });

});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM