微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 使用ajax运行db query(sql server 2005).可能吗?

我从未与ajax合作过.

我需要知道是否可以使用ajax在db上运行查询(sql server 2005).

我的目标是通过刷新页面来运行查询.

你有什么想法吗?

解决方法

正如 MarkusQ所说,不可能直接执行此操作,但您可以调用Web服务或页面方法来执行数据库查询并将结果返回给客户端.

对于页面方法这样的事情(这是我的头脑和未经测试.我也假设您正在使用asp.net 3.5)

public partial class _Default : Page 
{
  [WebMethod]
  public static string PerformDatabaseQuery()
  {
      using (sqlConnection con = new sqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString)
      {
          using (sqlCommand cmd = con.CreateCommand())
          {
              cmd.CommandText = "SELECT records FROM myTable";
              cmd.CommandType = CommandType.Text;

              con.open();

              sqlDataReader reader = cmd.ExecuteReader();
              StringBuilder sb = new StringBuilder();

              while (reader.Read())
              {
                   sb.Append((string)reader["records"]); 
                   //May want to do some other formatting here
              }

              return sb.ToString();
          }
      }
  }
}

然后从客户端调用页面方法.我将在这里使用jQuery

$.ajax({
  type: "POST",url: "Default.aspx/PerformDatabaseQuery",data: "{}",contentType: "application/json; charset=utf-8",dataType: "json",success: function(result) {
    //Do something with the returned data
  }
});

您可以使用JavaScript和在ScriptManager控件上设置EnablePageMethods = true时生成的JavaScript代理类来调用它.

function CallPerformDatabaseQuery()
{
    PageMethods.PerformDatabaseQuery(onSuccess,onFailed);
}

function onSuccess(result,userContext,methodName)
{
  // Do something with returned data
}

function onFailed(error,methodName)
{
  alert("An error occurred")
}

原文地址:https://www.jb51.cc/mssql/83421.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐