asp.net+Sqlserver 通过存储过程读取数据
Sqlserver代码 创建存储过程如下:
/*根据父id获取类别总数*/
IF EXISTS (SELECT name FROM sysobjects
WHERE name = N'getsitenodeTotal' AND type = 'P')
DROP PROCEDURE getsitenodeTotal
GO
create proc getsitenodeTotal
@notecount varchar(10) output,
@ParentID varchar(10)
as
select @notecount = count(1) from siteserver_Node where ParentID=@ParentID
go
/*执行*/
DECLARE @notecount varchar(10) /*调用时必须带OUTPUT关键字 ,返回结果将存放在变量@sum中*/
EXEC getsitenodeTotal @notecount OUTPUT ,52
print @notecount /*查询项目案例中的类别*/
IF EXISTS (SELECT name FROM sysobjects
WHERE name = N'getsitenodeall' AND type = 'P')
DROP PROCEDURE getsitenodeall
GO
create proc getsitenodeall
(
@ParentID varchar(10),
@countnode varchar(10)
)
as
begin
declare @sql nvarchar(500)
set @sql = 'select top '+str(@countnode)+' NodeID,NodeName,ParentID,ImageUrl,[Content],Description
from siteserver_Node where ParentID='+str(@ParentID)
execute(@sql)
end
go
/*执行*/
EXEC getsitenodeall 52,10 /*根据类别查询案例信息*/
IF EXISTS (SELECT name FROM sysobjects
WHERE name = N'getsitecontent' AND type = 'P')
DROP PROCEDURE getsitecontent
GO
create proc getsitecontent
(
@NodeID varchar(10),
@countnode varchar(10)
)
as
begin
declare @sql nvarchar(500)
set @sql = 'select top '+ @countnode + ' ID,NodeID,Title,Summary,SettingsXML,AddUserName,AddDate,ImageUrl,Content,LinkUrl'
+' from siteserver_Content where NodeID='+@NodeID+' order by ID desc'
execute(@sql)
end
go
/*执行*/
EXEC getsitecontent 53,10 /*根据类别获取新闻总数*/
IF EXISTS (SELECT name FROM sysobjects
WHERE name = N'getsitecontentTotal' AND type = 'P')
DROP PROCEDURE getsitecontentTotal
GO
create proc getsitecontentTotal
@nodecount varchar(10) output,
@NodeID varchar(10)
as
select @nodecount = count(1) from siteserver_Content where NodeID=@NodeID
go
/*执行*/
DECLARE @nodecount varchar(10) /*调用时必须带OUTPUT关键字 ,返回结果将存放在变量@sum中*/
EXEC getsitecontentTotal @nodecount OUTPUT ,53
print @nodecount /*根据id查询单条项目案例信息*/
IF EXISTS (SELECT name FROM sysobjects
WHERE name = N'getsitecontentById' AND type = 'P')
DROP PROCEDURE getsitecontentById
GO
create proc getsitecontentById
(
@ID varchar(10)
)
as
begin
declare @sql nvarchar(500)
set @sql = 'select ID,NodeID,Title,Summary,SettingsXML,AddUserName,AddDate,ImageUrl,Content,LinkUrl from siteserver_Content where ID='+@ID
execute(@sql)
end
go
/*执行*/
EXEC getsitecontentById 240
存储过程
.net中返回json数据
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
using Newtonsoft.Json;
using System.Web.Script.Serialization; /// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService { public WebService () { //如果使用设计的组件,请取消注释以下行
//InitializeComponent();
} [WebMethod]
public string HelloWorld() {
return "Hello World";
} [WebMethod(Description = "根据父id获取类别总数")]
public void getsitenodeTotal(string ParentID)
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
//jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
//@notecount
SqlParameter[] para ={
new SqlParameter("@notecount",SqlDbType.VarChar),
new SqlParameter("@ParentID", ParentID)
};
para[].Value = -;
para[].Direction = ParameterDirection.Output;
SQLHelper.ExecuteScalar("getsitenodeTotal", CommandType.StoredProcedure, para);
string result = para[].Value.ToString();
jsonStr = JsonConvert.SerializeObject(result); HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
} [WebMethod(Description = "查询项目案例中的类别")]
public void getsitenodeall(string ParentID, string countnode)
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
//jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
List<siteserver_Node> sitenodes = new List<siteserver_Node>();
SqlParameter[] para = {
new SqlParameter("@ParentID", ParentID),
new SqlParameter("@countnode", countnode)
};
using (SqlDataReader dr = SQLHelper.ExecuteReader("getsitenodeall", CommandType.StoredProcedure, para))
{
while (dr.Read())
{
siteserver_Node sitenode = new siteserver_Node(
Convert.ToInt32(dr["NodeID"]),
dr["NodeName"].ToString(),
Convert.ToInt32(dr["ParentID"]),
dr["ImageUrl"].ToString(),
dr["Content"].ToString(),
dr["Description"].ToString()
);
sitenodes.Add(sitenode);
}
}
jsonStr = JsonConvert.SerializeObject(sitenodes);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
} [WebMethod(Description = "根据类别查询案例信息")]
public void getsitecontent(string NodeID, string countnode)
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
//jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
List<siteserver_Content> sitecontents = new List<siteserver_Content>();
SqlParameter[] para = {
new SqlParameter("@NodeID", NodeID),
new SqlParameter("@countnode", countnode)
};
using (SqlDataReader dr = SQLHelper.ExecuteReader("getsitecontent", CommandType.StoredProcedure, para))
{
while (dr.Read())
{
siteserver_Content sitecontent = new siteserver_Content(
Convert.ToInt32(dr["ID"]),
Convert.ToInt32(dr["NodeID"]),
dr["Title"].ToString(),
dr["Summary"].ToString(),
dr["SettingsXML"].ToString(),
dr["AddUserName"].ToString(),
dr["AddDate"].ToString(),
dr["ImageUrl"].ToString(),
dr["Content"].ToString(),
dr["LinkUrl"].ToString()
);
sitecontents.Add(sitecontent);
}
}
jsonStr = JsonConvert.SerializeObject(sitecontents);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
} [WebMethod(Description = "根据类别获取新闻总数")]
public void getsitecontentTotal(string NodeID)
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
//jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
SqlParameter para =new SqlParameter("@NodeID", NodeID);
string sql = "select count(1) from siteserver_Content where NodeID=@NodeID";
string result =SQLHelper.ExecuteScalar(sql, CommandType.Text, para).ToString();
jsonStr = JsonConvert.SerializeObject(result);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
} [WebMethod(Description = "根据id查询单条项目案例信息")]
public void getsitecontentById(string ID)
{
HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = string.Empty;
//jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString();
string jsonStr = string.Empty;
siteserver_Content sitecontent = new siteserver_Content();
SqlParameter para = new SqlParameter("@ID", ID);
using (SqlDataReader dr = SQLHelper.ExecuteReader("getsitecontentById", CommandType.StoredProcedure, para))
{
while (dr.Read())
{
sitecontent = new siteserver_Content(
Convert.ToInt32(dr["ID"]),
Convert.ToInt32(dr["NodeID"]),
dr["Title"].ToString(),
dr["Summary"].ToString(),
dr["SettingsXML"].ToString(),
dr["AddUserName"].ToString(),
dr["AddDate"].ToString(),
dr["ImageUrl"].ToString(),
dr["Content"].ToString(),
dr["LinkUrl"].ToString()
);
break;
}
}
jsonStr = JsonConvert.SerializeObject(sitecontent);
HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr)));
}
}
asp.net+Sqlserver 通过存储过程读取数据的更多相关文章
- asp.net C#操作存储过程读取存储过程输出参数值
这段时间在做一个价格平台的项目时候,同事让我写一个存储过程.该存储过程是根据查询条件得出一组新数据,并且返回该组数据的总条数,此处的存储过程我用到了分页,其中主要知识点和难点是之前做项目的时候没有用到 ...
- 用kettle从mysql中使用存储过程读取数据写入到sqlserver数据库
1.mysql存储过程,可以实现动态表读取,满足较为复杂的业务逻辑 DROP PROCEDURE if exists p_get_car_trace; delimiter // CREATE PROC ...
- ASP.NET&AJAX&JSON - 动态读取数据
因为之前帮WM组做了一个delivery的dashboard,大概用了3周的时间,.net也忘了差不多了,ajax和highchart表也是现学的,蛮费劲!总算也搞出来了.发帖纪录一下. 1. 前台A ...
- Asp.net导入Excel并读取数据
protected void Button1_Click(object sender, EventArgs e) { if (station.HasFile == false)//HasFile用来检 ...
- sqlserver从xlsx读取数据
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Querie ...
- ASP.NET MVC + EF 利用存储过程读取大数据,1亿数据测试很OK
看到本文的标题,相信你会忍不住进来看看! 没错,本文要讲的就是这个重量级的东西,这个不仅仅支持单表查询,更能支持连接查询, 加入一个表10W数据,另一个表也是10万数据,当你用linq建立一个连接查询 ...
- ASP.NET MVC + EF 利用存储过程读取大数据
ASP.NET MVC + EF 利用存储过程读取大数据,1亿数据测试很OK 看到本文的标题,相信你会忍不住进来看看! 没错,本文要讲的就是这个重量级的东西,这个不仅仅支持单表查询,更能支持连接查询, ...
- [MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据
继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下微软的MVC4+EF5(EntityFramework5)框架的强大,能够高效的开发出网站应用开发系统,下面就看一下如何用MVC4+EF ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序读取相关数据
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第七篇:为ASP.NET MVC应用程序 ...
随机推荐
- PAT - IO-01. 表格输出(5)
题目: 本题要求编写程序,按照规定格式输出表格. 输入格式: 本题目没有输入. 输出格式: 要求严格按照给出的格式输出下列表格: ----------------------------------- ...
- JS中 confirm()方法的使用?
confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框. 如果用户点击确定按钮,则 confirm() 返回 true.如果点击取消按钮,则 confirm() 返回 false ...
- Foreign Exchange(交换生换位置)
Foreign Exchange Your non-profit organization (iCORE - international Confederation of Revolver Enth ...
- Objective-C释解 Target-Action模式
Objective-C释解 Target-Action模式 Target-Action模式是ObjC里非常常见的对象之间方法调用的方式,不过ObjC把方法调用叫做Send Message. 一帮情 ...
- codevs 1153 道路游戏
传送门 题目描述 Description 小新正在玩一个简单的电脑游戏.游戏中有一条环形马路,马路上有n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针 ...
- 简单又强大的联发科手机PhilZ Touch Recovery安装器,详细教程 - 本文出自高州吧
原文地址:http://bbs.gaozhouba.com/thread-19355-1-1.html * * * * * * * * * * * * * * * * * * * * * * * * ...
- 手机控制电脑,在WIFI局域网下(关机,重启,遥控)
这个软件叫百变遥控:http://blog.sina.com.cn/s/blog_9abc7dbc0101hmut.html 今天周末,在家里看电影,家里用的是台式电脑,我自己买了一个投影仪来专门看视 ...
- kibo.js 处理键盘事件的Javascript工具库
这个也是做在线编辑用到的 选中文字快捷键.提高编辑效率 https://github.com/marquete/kibo 用法很简单 Examples var k = new Kibo(); Sing ...
- Windows提供了两种将DLL映像到进程地址空间的方法(隐式和显式)
调用DLL,首先需要将DLL文件映像到用户进程的地址空间中,然后才能进行函数调用,这个函数和进程内部一般函数的调用方法相同.Windows提供了两种将DLL映像到进程地址空间的方法: 1. 隐式的加载 ...
- QWaitCondition(和Java的Notify机制非常相像)
QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编 ...