【问题标题】:placing the json data to sql database from webservice将 json 数据从 webservice 放入 sql 数据库
【发布时间】:2010-08-25 09:27:47
【问题描述】:

这是我检索用户名的特定 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; 

    }

}

}

【问题讨论】:

    标签: c# jquery ajax sql-server-2005 json


    【解决方案1】:

    如下装饰您的 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; }
    }
    

    那么您的 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);
            } 
        });
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 2023-03-29
      • 2011-12-09
      • 2016-04-03
      • 2021-04-13
      • 1970-01-01
      相关资源
      最近更新 更多