asp.net mvc ADO.net 取資料 轉json 格式
using Newtonsoft.Json;
public ActionResult GetList(int page,int limit)
{bbs.OpenConnection();
// DataSet ds = new DataSet();
string sql = "SELECT id,nameFROM table";
string sqlcount = "select count(*) as total from (" + sql + ")as a ";
string count = bbs.List(sqlcount).Tables[0].Rows[0]["total"].ToString();
sql = cc.SqlLimit(sql, " id ", page, limit);
// ds = bbs.List(sql);
DataTable dt = bbs.List(sql).Tables[0];
bbs.CloseConnection();
return Content(JsonConvert.SerializeObject( dt ));
}
public ActionResult GetList(int page,int limit)
{
bbs.OpenConnection();
// DataSet ds = new DataSet();
string sql = "SELECT id,nameFROM table";
string sqlcount = "select count(*) as total from (" + sql + ")as a ";
string count = bbs.List(sqlcount).Tables[0].Rows[0]["total"].ToString();
sql = cc.SqlLimit(sql, " id ", page, limit);
// ds = bbs.List(sql);
DataTable dt = bbs.List(sql).Tables[0];
bbs.CloseConnection();
return Content(JsonConvert.SerializeObject(new ResponseData { code = 0, count = int.Parse(count), msg = "", data = dt }));
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace Provincial.Models
{
public class BBSconnect
{
protected SqlConnection conn;
public void OpenConnection()
{
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
try
{
if (conn.State.ToString() != "Open")
{
conn.Open();
}
}
catch (SqlException ex)
{
throw ex;
}
}
public void CloseConnection()
{
try
{
conn.Close();
}
catch (SqlException ex)
{
throw ex;
}
}
//Insert
public int InsertData(string sql)
{
int i = 0;
try
{
if (conn.State.ToString() == "Open")
{
SqlCommand cmd = new SqlCommand(sql, conn);
i = cmd.ExecuteNonQuery();
}
return i;
}
catch (Exception ex)
{
throw ex;
}
}
//serach
public DataSet List(string sql)
{
try
{
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw ex;
}
}
//Detail
public DataTable Detail(string sql)
{
try
{
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
}
//Delete
public int Delete(string sql)
{
try
{
int result = 0;
SqlCommand cmd = new SqlCommand(sql, conn);
result = cmd.ExecuteNonQuery();
return result;
}
catch (Exception ex)
{
throw ex;
}
}
}
}
public string SqlLimit(string sql, string orderby, int page, int offset) {
sql = sql + " order by "+orderby+" asc ";
var orderbyInverse = " order by "+ orderby + " desc ";
var orderbyInverse2 = " order by "+ orderby + " asc ";
var val = sql.Replace("SELECT", "SELECT TOP " + (page * offset) + " ");
sql = "SELECT * FROM (SELECT TOP " + offset + " * FROM (" + val + ") AS inner_tbl";
if (orderby != "")
{
sql += " " + orderbyInverse + " ";
}
sql += ") AS outer_tbl";
if (orderby != "")
{
sql += " " + orderbyInverse2 + " ";
}
return sql;
}