📄 sqlexec_ajax.aspx.cs
字号:
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.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace isqlweb
{
public partial class sqlexec_ajax : AjaxPage
{
#region Page_Load
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack) return;
if (IsCmd("loadAllDatabasesForSelect"))
{
LoadAllDatabasesForSelect();
}
else if (IsCmd("executesql"))
{
ExecuteSql();
}
else if (IsCmd("helptext"))
{
HelpText();
}
}
#endregion
#region LoadAllDatabases 加载所有数据库用于Select控件
/// <summary>
/// 加载所有数据库用于Select控件
/// </summary>
private void LoadAllDatabasesForSelect()
{
if (!CheckConnection())
{
Response.Write("<option vlaue='reload'>连接数据库失败</option>");
return;
}
DataTable dt = DataProvider.GetAllDatabase(Conn);
string str = string.Empty;
for (int i = 0; i < dt.Rows.Count; i++)
{
str += "<option>" + Utils.Parse<string>(dt.Rows[i][0]) + "</option>";
}
Response.Write(str);
}
#endregion
#region ExecuteSql 执行Sql
/// <summary>
/// 执行Sql
/// </summary>
private void ExecuteSql()
{
ExecuteSqlAjaxResult result = new ExecuteSqlAjaxResult();
if (!CheckConnection())
{
result.Success = false;
result.Message = "连接数据库失败";
}
else
{
try
{
SQLMessage.Clear();
result.DataSet = DataProvider.ExecuteDataSet(Conn, Text, DbName);
if (result.DataSet != null && result.DataSet.Tables.Count > 0)
{
for (int i = 0; i < result.DataSet.Tables.Count; i++)
{
int rowLength = result.DataSet.Tables[i].Rows.Count;
SQLMessage.Add("(所影响的行数为 " + rowLength.ToString() + " 行)");
}
}
result.Success = true;
result.Message = IsEmptySQLMessage() ? "命令已成功完成。" : GetSQLMessageString();
}
catch (Exception ex)
{
result.Success = false;
result.Message = ex.Message;
}
}
string str = string.Empty;
str += "if(typeof executesql_result==\"undefined\")var executesql_result = {};";
str += string.Format("executesql_result.success = {0};", result.Success ? "true" : "false");
str += string.Format("executesql_result.message = \"{0}\";", result.Message.Replace("\r\n","<br>"));
Response.Write(str);
DataSet ds = result.DataSet;
Control parent = this;
if (AddForm && ds != null && ds.Tables.Count > 0)
{
HtmlForm form = new HtmlForm();
form.Attributes["runat"] = "server";
form.ID = "form";
this.Controls.Add(form);
parent = form;
}
if (ds != null && ds.Tables.Count > 0)
{
Response.Write("|");
for (int i = 0; i < ds.Tables.Count; i++)
{
ResultTable table = (ResultTable)LoadControl("ResultTable.ascx");
parent.Controls.Add(table);
table.BindData(ds.Tables[i]);
}
}
}
#endregion
#region HelpText 执行 sp_helptext
/// <summary>
/// 执行 sp_helptext
/// </summary>
private void HelpText()
{
if (!CheckConnection())
{
Response.Write("连接数据库失败");
return;
}
string str = string.Empty;
try
{
str = DataProvider.HelpText(Conn, Text, DbName);
}
catch (Exception ex)
{
str = "出现错误:" + ex;
}
Response.Write(str);
return;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -