استخدام تقنية أجاكس للبحث داخل قاعدة البيانات


هذا الموضوع سوف يكون لإستخدام تقنية الأجاكس للتأكد من توفر إسم المستخدم والبريد الالكتروني في قاعدة البيانات , بمجرد كتابة النص داخل مربع الحوار سوف يتم الفحص على هذا الاسم من خلال قاعدة البيانات وتوضيح حاله هذا الاسم هل متوفرة .



في البداية نقوم بإنشاء قاعدة البيانات وتحتوي على الجدول البيانات التالية


بعد ذلك ستكون الصفحة الخاصة  بالتصميم التالي



كود التصميم الخاص بالصفحة 


 <div>
    <div >
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
     </div>
     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
         <ContentTemplate>
             <table align="center" >
                 <tr>
                     <td style="text-align: right" width="120">
                       <asp:Label ID="lblUser" runat="server"/>
                       <asp:Image ID="imgUser" runat="server" Visible="false" Width="16px"/>
                     </td>
                     <td style="text-align: right">
                         <b>
                         <asp:TextBox ID="txtUserName" runat="server" 
                 ontextchanged="txtUserName_TextChanged" 
                 AutoPostBack="True" Height="22px" 
                style="text-align: center" Width="140px"></asp:TextBox>
                         </b>
                     </td>
                     <td>
                    <b style="font-size: medium; text-align: right;">اسم المستخدم</b></td>
                 </tr>
            </table>
         </ContentTemplate>
    </asp:UpdatePanel>
    </div>
الكود البرمجي للصفحة


using System.Data;
using System.Data.SqlClient;
using System.Configuration;
 
 
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    protected void txtUserName_TextChanged(object sender, EventArgs e)
    {
        if (txtUserName.Text != String.Empty)
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings
            ["ConnString"].ToString());
            SqlCommand cmd = new SqlCommand("Select COUNT(*) From Users Where 
            username=@Username", conn);
            SqlParameter username = new SqlParameter("@Username", SqlDbType.VarChar);
            username.Value = txtUserName.Text.Trim().ToString();
            cmd.Parameters.Add(username);
            conn.Open();    
            int result = (Int32)cmd.ExecuteScalar();
            conn.Close();
             if (result >= 1)
            {
                imgUser.ImageUrl = "unavailable.png";
                imgUser.Visible = true;
                lblUser.Text = "اسم غير متوفر";
                lblUser.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
                imgUser.ImageUrl = "tick.png";
                imgUser.Visible = true;
                lblUser.Text = "الاسم متوفر";
                lblUser.ForeColor = System.Drawing.Color.Green;
                        }
        
        }
    }
}
 
شارك الموضوع
تعليقات