Query Management Studio در Asp.Net

چهارشنبه 26 فروردین 1394

در این مقاله نحوه کار با QMS که مخفف Query Management Studio میباشد را شرح خواهیم داد.QMS ما را قادر می سازد که به سرور دسترسی داشته باشیم و به صورت آنلاین جدول ایجاد کنیم

Query Management Studio در Asp.Net

QMS می تواند در یک مرورگر ساده قابل اجرا باشد و کاربر را قادر میسازد به صورت آنلاین به بانک اطلاعاتی دسترسی داشته باشد و دستورات Insert,Delete,Update و Select را برای جدول مورد نظر اجرا کند .QMS یک نرم افزار ساده که میتوانید از آن به عنوان GUI برای بانک اطلاعات خود استفاده کنید .این عمل برای مواقعی که سرعت سرور بسیار پایین میباشد و یا حتی سرور قادر به پاسخگویی نمی باشد می تواند مفید باشد .

برای این کار باید فضای نام های زیر را به پروژه خود اضافه کنیم :

using System;  
using System.Data;  
using System.Configuration;  
using System.Collections;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Web.UI.HtmlControls;  
using System.Data.Sql;  
using System.Data.SqlClient;  
using System.IO;  
using System.Drawing; 

و دستورات #C به صورت زیر میباشد :

public partial class Entrance : System.Web.UI.Page  
{  
    SqlConnection con = new SqlConnection();  
    protected void Page_Load(object sender, EventArgs e)  
    {  
    }  
    protected void btncon_Click(object sender, ImageClickEventArgs e)  
    {  
        if (txtdbase.Text == "" || txtserv.Text == "" || txtuid.Text == "" || txtpass.Text == "")  
        {  
            Page.RegisterStartupScript("UserMsg",  
            "alert('All field should be filled');if(alert){ window.location='Entrance.aspx';}");  
        }  
        else  
        {  
            Session["dbase"] = txtdbase.Text;  
            Session["sname"] = txtserv.Text;  
            Session["uid"] = txtuid.Text;  
            Session["pass"] = txtpass.Text;  
            Response.Redirect("~/Default.aspx", false);  
        }  
    }  
}

و برای فرم بعدی دستورات زیر را وارد میکنیم :

public partial class _Default : System.Web.UI.Page  
{  
    SqlConnection con = new SqlConnection();  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        string server = Session["sname"].ToString();  
        string dname = Session["dbase"].ToString();  
        string uid = Session["uid"].ToString();  
        string pass = Session["pass"].ToString();  
       con.ConnectionString = "Data Source="+server +";  
       Initial Catalog="+ dname  +"; User ID=" + uid +"; Password=" + pass ;  
        if(!IsPostBack)  
        getdbase();  
    }  
    protected void btnreset_Click(object sender, EventArgs e)  
    {  
        querybox.Text = "";  
        ListBox2.Items.Clear();  
        GridView1.Dispose();  
    }  
    protected void btnexcu_Click(object sender, EventArgs e)  
    {  
        functions();  
    }  
    void functions()  
    {  
        try  
        {  
            if (querybox.Text != "")  
            {  
                if (hidSelectedText.Value == "")  
                {  
                    hidSelectedText.Value = querybox.Text;  
                }  
                if (hidSelectedText.Value != "")  
                {  
                    con.Open();  
                    SqlCommand cmd = new SqlCommand("use " +  
                    ddl.SelectedItem.ToString() + " " + hidSelectedText.Value, con);  
                   // SqlCommand cmd = new SqlCommand(hidSelectedText.Value, con);  
                    SqlDataAdapter da = new SqlDataAdapter(cmd);  
                    DataTable dt = new DataTable();  
                    da.Fill(dt);  
                    GridView1.DataSource = dt;  
                    GridView1.DataBind();  
                    con.Close();  
                    lblmes.Visible = true;  
                    war.Visible = false;  
                    ok.Visible = true;  
                    lblmes.ForeColor = Color.Green;  
                    lblmes.Text = "Query executed successfully";  
                }  
                else  
                {  
                    lblmes.Visible = true;  
                    ok.Visible = false;  
                    war.Visible = true;  
                    lblmes.ForeColor = Color.DarkGoldenrod;  
                    lblmes.Text = "Query completed with error";  
                }  
            }  
            else  
            {  
                querybox.Text = "Write some query or select some text...";  
            }  
        }  
        catch (Exception  ex)  
        {  
            querybox.Text = ex.Message;  
            lblmes.Visible = true;  
            ok.Visible = false;  
            war.Visible = true;  
            lblmes.ForeColor = Color.Red;  
            lblmes.Text = "Query completed with error";  
            GridView1.Dispose();  
        }  
      }  
    protected void ddl_SelectedIndexChanged(object sender, EventArgs e)  
    {  
        try  
        {  
            ListBox2.Items.Clear();  
            con.Open();  
            string qry = ddl.SelectedItem.ToString();  
            SqlCommand cmd = new SqlCommand("USE "+qry  +   
            " select name from sysobjects where type='U' ", con);  
            SqlDataReader dr = cmd.ExecuteReader();  
            ListBox1.Items.Clear();  
            while (dr.Read())  
            {  
                ListBox1.Items.Add(dr["name"].ToString());  
            }  
            con.Close();  
        }  
        catch(Exception ex)  
        {  
            querybox.Text = ex.Message;  
        }  
    }  
    protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)  
    {  
        try  
        {  
            con.Open();  
            string qry =  ListBox1 .SelectedItem.ToString();  
            SqlCommand cmd = new SqlCommand("use " + ddl.SelectedItem.ToString() + "  
            select Column_Name from INFORMATION_SCHEMA.COLUMNS _  
            where TABLE_NAME = '" + qry + "'", con);  
            SqlDataReader dr = cmd.ExecuteReader();  
            ListBox2.Items.Clear();  
            while (dr.Read())  
            {  
             ListBox2.Items.Add(dr["Column_Name"].ToString());  
            }  
            con.Close();  
        }  
        catch (Exception ex)  
        {  
            querybox.Text = ex.Message;  
        }  
    }  
    void getdbase()  
    {  
        try  
        {  
             con.Open();  
             SqlCommand cmd = new SqlCommand("SELECT name FROM master.dbo.sysdatabases", con);  
             SqlDataReader dr = cmd.ExecuteReader();  
             ddl.Items.Clear();  
             while (dr.Read())  
              {  
                ddl.Items.Add(dr["name"].ToString());  
              }  
              con.Close();  
              lblststus.ForeColor = Color.Green;  
              lblststus.Text = "Connected";  
        }  
        catch (Exception ex)  
        {  
            querybox.Text = ex.Message;  
        }  
    }  
} 

از طریق دستورات بالا میتوانیم ابتدا به بانک اطلاعاتی متصل شویم , سپس یک جدول ایجاد کنیم یا حتی جدولی را که از قبل ساخته ایم را ویرایش یا حذف کنیم

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید