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应用程序 ...
随机推荐
- js中的模块化编写思维
作为一个新手程序员,在编程时一定要刻意锻炼自己的模块化编写思路,但是究竟什么才是模块化编写对于新人来说还是不太能够直观的理解,下面就举个简单的例子来说明一下 概念:最早接触模块化的说法是从java上, ...
- asp.net Server.HtmlEncode和HtmlDecode
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">< ...
- id 自增------删除数据后恢复到删除前自增id
删除数据后,执行下面语句: ALTER TBALE TableName AUTO_INCREMENT=1 mysql删除比较 一.DROP drop table tablename 绝招:删除内容和 ...
- Flask 快速入门
最简单的flask程序 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return ...
- HDU 1005(周期问题)
HDU 1005 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descript ...
- Skynet:特性收集
基于云风的 blog,收集 skynet 的特性以便将来在代码中一一验证. “ ... ” 部分节选自云风的 BLOG. 1. 基于 Erlang-Actor 模式的 C 实现 “把一个符合规范的 C ...
- HTML邮件注意事项
1.全局规则之一,不要写<style>标签.不要写class,所有CSS都用style属性,什么元素需要什么样式就用style写内联的CSS. 2.全局规则之二,少用图片,邮箱不会过滤你的 ...
- 转:Google论文之一----Bigtable学习翻译
文章来自于:http://www.cnblogs.com/geekma/archive/2013/05/30/3108391.html Bigtable研究 摘要 Bigtable是一个用于管理结构型 ...
- C语言学习笔记--结构体
结构体定义三种方式: #include<stdio.h> //第一种定义方法 struct point { int x; int y; }; struct point p1,p2; //第 ...
- 直接引用windows命名空间
再逛博客的时候,看见一段这样代码.获取系统密码的 static void DumpCredentials(Windows.Security.Credentials.PasswordCredential ...