ajax.cs
- C# code
-
using System; using System.Web; using System.Data; using System.Configuration; using System.Data.SqlClient; public class Ajax { private static bool IsNull( string v) { if (v == null || v.Trim() == "" ) return true ; else return false ; } private static string Js( string v) { return v.Replace( " ' " , " //' " ); } public static string Login() { HttpRequest Request = HttpContext.Current.Request; string rStr = "" ; string UserName = Request.Form[ " nn " ]; if (IsNull(UserName)) { rStr = " success:false,err:'昵稱不能為空!' " ; } else if (UserName.Length > 20 ) { rStr = " success:false,err:'昵稱不能超過20個字元!' " ; } else { string UserId = "" , Key = "" ; SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings[ " db " ]); cn.Open(); try { SqlCommand cm = new SqlCommand( " ajaxLogin " , cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add( new SqlParameter( " @UserName " , SqlDbType.NVarChar, 50 )); cm.Parameters[ " @UserName " ].Value = UserName; // ==========輸出參數 cm.Parameters.Add( new SqlParameter( " @UserId " , SqlDbType.NVarChar, 18 )); cm.Parameters[ " @UserId " ].Direction = ParameterDirection.Output; cm.Parameters.Add( new SqlParameter( " @UserKey " , SqlDbType.NVarChar, 5 )); cm.Parameters[ " @UserKey " ].Direction = ParameterDirection.Output; cm.ExecuteNonQuery(); UserId = cm.Parameters[ " @UserId " ].Value.ToString().Trim(); Key = cm.Parameters[ " @UserKey " ].Value.ToString().Trim(); if (UserId == " -1 " ) rStr = @" success:false,err:'發生錯誤,請稍後再試!' " ; else if (UserId == " 0 " ) rStr = @" success:false,err:'已經存在此使用者昵稱,請修改您的昵稱!' " ; else rStr += " success:true,UserId:' " + UserId + " ',Key:' " + Key + " ' " ; cm.Dispose(); } catch (Exception e) { rStr = @" success:false,err:'原因//n " + Js(e.Message) + " ' " ; } cn.Close(); } return rStr; } public static string Logout() { HttpRequest Request = HttpContext.Current.Request; string rStr = "" , UserId = Request.Form[ " uid " ], Key = Request.Form[ " key " ]; if (IsNull(UserId) || IsNull(Key)) return " success:false,err:'使用者資訊丢失!' " ; SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings[ " db " ]); cn.Open(); try { SqlCommand cm = new SqlCommand( " ajaxLogout " , cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add( new SqlParameter( " @UserId " , SqlDbType.NVarChar, 18 )); cm.Parameters[ " @UserId " ].Value = UserId; cm.Parameters.Add( new SqlParameter( " @UserKey " , SqlDbType.NVarChar, 5 )); cm.Parameters[ " @UserKey " ].Value = Key; cm.Parameters.Add( new SqlParameter( " @Result " , SqlDbType.Int)); cm.Parameters[ " @Result " ].Direction = ParameterDirection.Output; cm.ExecuteNonQuery(); if (cm.Parameters[ " @UserId " ].Value.ToString().Trim() == " 0 " )rStr = " success:false,err:'使用者資訊不存在!' " ; else rStr = " success:true " ; cm.Dispose(); } catch (Exception e) { } cn.Close(); return rStr; } public static string Say() { HttpRequest Request = HttpContext.Current.Request; string From = Request.Form[ " from " ], To = Request.Form[ " to " ] , Key = Request.Form[ " key " ], Msg = Request.Form[ " ct " ], rStr = "" ; if (IsNull(From) || IsNull(Key) || IsNull(To) || IsNull(Msg)) rStr = " success:false,err:'資訊傳遞不完整!' " ; else { SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings[ " db " ]); cn.Open(); try { SqlCommand cm = new SqlCommand( " ajaxSay " , cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add( new SqlParameter( " @UserKey " , SqlDbType.NVarChar, 5 )); cm.Parameters[ " @UserKey " ].Value = Key; cm.Parameters.Add( new SqlParameter( " @From " , SqlDbType.NVarChar, 18 )); cm.Parameters[ " @From " ].Value = From; cm.Parameters.Add( new SqlParameter( " @To " , SqlDbType.NVarChar, 18 )); cm.Parameters[ " @To " ].Value = To; cm.Parameters.Add( new SqlParameter( " @Msg " , SqlDbType.NVarChar, 800 )); cm.Parameters[ " @Msg " ].Value = Msg; cm.Parameters.Add( new SqlParameter( " @Result " , SqlDbType.Int)); cm.Parameters[ " @Result " ].Direction = ParameterDirection.Output; cm.ExecuteNonQuery(); if (cm.Parameters[ " @Result " ].Value.ToString() == " 0 " ) rStr = " sucess:false,err:'發表失敗!//n原因:接收者已經不存在!' " ; else rStr = " success:true " ; cm.Dispose(); } catch (Exception e) { rStr = " sucess:false,err:'發表失敗!原因//n " + Js(e.Message) + " ' " ; } cn.Close(); } return rStr; } public static string ReadUser() { HttpRequest Request = HttpContext.Current.Request; string rStr = "" , UserId = Request.Form[ " uid " ]; if (IsNull(UserId)) rStr += " success:false,err:'使用者id丢失!' " ; else { SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings[ " db " ]); cn.Open(); try { SqlCommand cm = new SqlCommand( " ajaxReadUser " , cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add( new SqlParameter( " @UserId " , SqlDbType.NVarChar, 18 )); cm.Parameters[ " @UserId " ].Value = UserId; string j = "" ; SqlDataReader dr = cm.ExecuteReader(); while (dr.Read()) j += " ,{id:' " + dr[ 0 ] + " ',nn:' " + Js(dr[ 1 ].ToString()) + " '} " ; dr.Close(); cm.Dispose(); rStr = " success:true,data:[ " + (j == "" ? "" : j.Substring( 1 )) + " ] " ; } catch (Exception e) { rStr = @" success:false,err:'發生如下錯誤//n " + Js(e.Message) + " ' " ; } cn.Close(); } return rStr; } public static string Read() { HttpRequest Request = HttpContext.Current.Request; string rStr = "" ; string UserId = Request.Form[ " uid " ], Key = Request.Form[ " key " ]; if (IsNull(UserId) || IsNull(Key)) rStr = " success:false,err:'使用者資訊丢失!' " ; else { SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings[ " db " ]); cn.Open(); try { SqlCommand cm = new SqlCommand( " ajaxRead " , cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add( new SqlParameter( " @UserId " , SqlDbType.NVarChar, 18 )); cm.Parameters[ " @UserId " ].Value = UserId; cm.Parameters.Add( new SqlParameter( " @UserKey " , SqlDbType.NVarChar, 5 )); cm.Parameters[ " @UserKey " ].Value = Key; SqlDataReader dr = cm.ExecuteReader(); string j = "" ; while (dr.Read()) j += " ,' " + Js(dr[ 0 ].ToString()) + " ' " ; dr.Close(); cm.Dispose(); rStr = " success:true,data:[ " + (j == "" ? "" : j.Substring( 1 )) + " ] " ; } catch (Exception e) { rStr = " success:false,err:'發生以下錯誤 " + Js(e.Message) + " ' " ; } cn.Close(); } return rStr; } }