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

前端之家收集整理的这篇文章主要介绍了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")
}

猜你在找的MsSQL相关文章