ASP.NET WebAPI连接数据库的方法

vector0 2018-08-15

ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。 ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。

本文主要实现ASP.NET WebAPI 连接数据库获取数据,并以Json字符串格式返回。

1.创建ASP.NET Web Application(.NET Framework)项目;

ASP.NET WebAPI连接数据库的方法

2.选择Web API;

ASP.NET WebAPI连接数据库的方法

3.创建新项目完成;

ASP.NET WebAPI连接数据库的方法

在ValuesController.cs中修改Get方法并连接SQLServer数据库获取数据,以Json字符串格式返回:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using Newtonsoft.Json;

namespace WebApplication1.Controllers
{
 public class ValuesController : ApiController
 {
  // GET api/values
  public IEnumerable<string> Get()
  {
   return new string[] { "value1", "value2" };
  }

  // GET api/values/5
  public string Get(int id)
  {
   try
   {
    SqlConnection sqlConnection =
     new SqlConnection(
      "Data Source=127.0.0.1;Initial Catalog=GaryWeb;Integrated Security=True;User Id=sa;Password=123456");
    sqlConnection.Open();
    string sql = "select * from Users";
    DataSet dataSet = new DataSet();
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sql, sqlConnection);
    sqlDataAdapter.Fill(dataSet);
    return JsonConvert.SerializeObject(dataSet);
   }
   catch (Exception ex)
   {
    return ex.ToString();
   }
  }

  // POST api/values
  public void Post([FromBody]string value)
  {
  }

  // PUT api/values/5
  public void Put(int id, [FromBody]string value)
  {
  }

  // DELETE api/values/5
  public void Delete(int id)
  {
  }
 }
}

运行项目:

ASP.NET WebAPI连接数据库的方法

获得返回Json字符串数据:

{
 "Table": [
  {
   "UserID": 1, 
   "UserName": "admin", 
   "DisplayName": "admin1", 
   "Password": "jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI=", 
   "Email": "[email protected]", 
   "Status": 0, 
   "RegistrationTime": "2017/6/1", 
   "LoginTime": null, 
   "LoginIP": null
  }, 
  {
   "UserID": 2, 
   "UserName": "admin1", 
   "DisplayName": "admin1", 
   "Password": "jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI=", 
   "Email": "[email protected]", 
   "Status": 0, 
   "RegistrationTime": "2017/6/1", 
   "LoginTime": null, 
   "LoginIP": null
  }, 
  {
   "UserID": 3, 
   "UserName": "admin2", 
   "DisplayName": "admin2", 
   "Password": "jZae727K08KaOmKSgOaGzww/XVqGr/PKEgIMkjrcbJI=", 
   "Email": "[email protected]", 
   "Status": 0, 
   "RegistrationTime": "2017/6/1", 
   "LoginTime": null, 
   "LoginIP": null
  }
 ]
}

相关推荐