c#执行存储过程的简单实例

/*登陆验证存储过程*/
if exists(select name from sysobjects where type='p' and name='checkUserProc')
drop procedure checkUserProc
go
create procedure checkUserProc(
@checkResult int output,
@checkUser varchar(50),
@checkPassword varchar(100)
)
as
if exists(select * from userTable where u_name=@checkUser and u_password=@checkPassword)
set @checkResult=1 --通过验证
else if exists(select * from userTable where u_name=@checkUser)
set @checkResult=2 --密码错误
else
set @checkResult=0 --用户名不存在
return isnull(@checkResult,2)

go

 

//登陆按钮的Onclick事件,使用sqlcommand

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
 
    
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void check_Click(object sender, EventArgs e)
    {

        Dbconn db = new Dbconn();
        SqlConnection conn = db.openConn();
        SqlCommand cmd = new SqlCommand("checkUserProc",conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@checkUser",SqlDbType.VarChar);
        cmd.Parameters["@checkUser"].Value = userName.Text.ToString();
        cmd.Parameters.Add("@checkPassword", SqlDbType.VarChar);
        cmd.Parameters["@checkPassword"].Value = userPassword.Text.ToString();
        cmd.Parameters.Add("@checkResult",SqlDbType.Int);
        cmd.Parameters["@checkResult"].Direction = ParameterDirection.Output;
        conn.Open();
        cmd.ExecuteNonQuery();
        switch (Convert.ToInt32( cmd.Parameters["@checkResult"].Value))
            {
            case 0:
                Response.Write("用户名不存在");
                break;
            case 2:
                Response.Write("密码错误");
                break;
            case 1:
                Response.Write("登陆成功");
                break;
    
            default:
                break;
            }
           
    }
}

 /*登陆验证存储过程*/
if exists(select name from sysobjects where type='p' and name='checkUserProc')
drop procedure checkUserProc
go
create procedure checkUserProc(
@checkResult int output,
@checkUser varchar(50),
@checkPassword varchar(100)
)
as
if exists(select * from userTable where u_name=@checkUser and u_password=@checkPassword)
set @checkResult=1 --通过验证
else if exists(select * from userTable where u_name=@checkUser)
set @checkResult=2 --密码错误
else
set @checkResult=0 --用户名不存在
return isnull(@checkResult,2)

go

 

//登陆按钮的Onclick事件

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
 
    
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void check_Click(object sender, EventArgs e)
    {

        Dbconn db = new Dbconn();
        SqlConnection conn = db.openConn();
        SqlCommand cmd = new SqlCommand("checkUserProc",conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@checkUser",SqlDbType.VarChar);
        cmd.Parameters["@checkUser"].Value = userName.Text.ToString();
        cmd.Parameters.Add("@checkPassword", SqlDbType.VarChar);
        cmd.Parameters["@checkPassword"].Value = userPassword.Text.ToString();
        cmd.Parameters.Add("@checkResult",SqlDbType.Int);
        cmd.Parameters["@checkResult"].Direction = ParameterDirection.Output;
        conn.Open();
        cmd.ExecuteNonQuery();
        switch (Convert.ToInt32( cmd.Parameters["@checkResult"].Value))
            {
            case 0:
                Response.Write("用户名不存在");
                break;
            case 2:
                Response.Write("密码错误");
                break;
            case 1:
                Response.Write("登陆成功");
                break;
    
            default:
                break;
            }
           
    }
}

//another one,使用sqlDataAdapter:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Dbconn db = new Dbconn();
            SqlConnection conn = db.openConn();
            SqlDataAdapter sdpt = new SqlDataAdapter();
            SqlCommand cmd = new SqlCommand("selectUser", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@topI",SqlDbType.Int);
            cmd.Parameters["@topI"].Value = 5;
            conn.Open();
            cmd.ExecuteNonQuery();
            sdpt.SelectCommand = cmd;
            DataSet ds = new DataSet();
            sdpt.Fill(ds);
            testRpt.DataSource = ds.Tables[0];
            testRpt.DataBind();
            cmd.Dispose();
            sdpt.Dispose();
            conn.Close();
        }

    }

--查询存储过程
create procedure selectUser
(
@topI int
)
as
exec( 'select top '+ @topI +' * from test order by id desc')

 

 

 

 

转载于:https://www.cnblogs.com/majiangquan/archive/2009/03/25/1421489.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PAT乙类之1011 A+B 和 C

一、题目 给定区间 [−2​^31, 2 ^31​​ ] 内的 3 个整数 A、B 和 C,请判断 AB 是否大于 C。输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。…

LeetCode 492. 构造矩形

1. 题目 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求: 你设计的矩形页面必须等于给定的目标面积。 宽度 W 不应…

uuid生成_php如何生成 uuid(总结)

1、UUID的格式是什么?UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字2、UUID使用实例?用md5函数生成密码字符串,然后substr函数在里面截取就好&…

PAT乙类之1012 数字分类 (20 分)

一、 题目 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A​1 能被 5 整除的数字中所有偶数的和; A​2 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2n3−n4⋯; A3 被 5…

C#.net同步异步SOCKET通讯和多线程总结(转)

C#.net同步异步SOCKET通讯和多线程总结 来源:http://www.cnblogs.com/Silverlight_Team/archive/2009/03/13/1411136.html 同步套接字通信 Socket支持下的网上点对点的通信 服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和…

python delta_Python 函数

一、函数的基本语法及特性函数定义:定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可特性:减少重复代码使程序变的可扩展使程序变得易维护语法定义:#def 函数名(参数)&#xf…

浏览器返回错误汇总分析

错误代码:400 400错误是由于不正确的请求造成的,说明正在搜索的网页可能已经删除、更名或暂时不可用。 错误代码:401.1 401.1错误是由于登陆失败造成的,说明没有权限查看该目录或网页。 错误代码:401.2 401.2错误是由于…

PAT乙类1013 数素数 (20 分)

一、题目 令 P​i表示第 i 个素数。现任给两个正整数 M≤N≤10^4,请输出 PM到 PN的所有素数。输入格式: 输入在一行中给出 M 和 N,其间以空格分隔。输出格式: 输出从 P​M到 P​N的所有素数,每 10 个数字占 1 行&…

LeetCode 506. 相对名次(map)

1. 题目 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。 前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”(“Gold Medal”, “Silver Medal”, “Bronze Medal”)。 (注:分数越高的选…

python docx包_[Python02] Python-docx包的使用,快速处理 Word 文件!

日常需要经常处理Word文档,发现了一个新的Python包:Python-docx,处理docx十分方便。而且这个包和pandas包结合使用,可以在word插入excel表格,节省了很多复制、粘贴、调整表格样式的时间,真的很方便&#xf…

c study_13

第十章:文件 文件文件的基本概念  所谓"文件"是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外…

PAT乙类1014 福尔摩斯的约会 (20 分)

一、题目 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了, 字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对…

LeetCode 507. 完美数

1. 题目 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为“完美数”。 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False 示例: 输入: 28 输出: True 解释: 28 1 2…

python分段函数图像画法_我想用Python matplotlib 画一个这样类似的图像,需要用到分段函数。大佬帮帮这个小弟?...

有做出来了import matplotlib.pyplot as pltimport numpy as npdef lin():#直线方程i0while i!80:m np.linspace(20, 100, 3)n [(80-i), (80-i), (80-i)]axes.plot(m, n)i i 20def cruve():#圆弧方程k0while k!60:if k20:r 10.0#半径a, b ((70-k) ,-20 )#圆心坐标x np.a…

python笔记(五) - 获取对象的引用

1&#xff0c;使用 getattr 函数&#xff0c;可以得到一个直到运行时才知道名称的函数的引用。 >>>li ["Larry", "Curly"]>>>li.pop<built-inmethod pop of list object at 0x00A75850>>>>getattr(li,pop)<built-inme…

spring-test dao空指针异常_014、Java异常机制

1.异常的概念和分类异常指程序运行过程中出现的非正常现象&#xff0c;例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中&#xff0c;引进了很多用来描述和处理异常的类&#xff0c;称为异常类。异常类定义中包含了该类异常的信息和…

基于奇异值分解(SVD)的图片压缩实践

文章目录1. 前言2. 原理简介2.1 SVD定义3. 实践代码4. 参考文献1. 前言 数字图片在计算机中是以矩阵形式存储的。所以可以通过矩阵理论和矩阵算法对数字图像进行分析和处理。本文通过对图片进行SVD压缩&#xff0c;对不同的参数下的压缩效果进行对比。 SVD概念可以参考&#…

执行文件异常报错:ImportError: attempted relative import with no known parent package

问题描述 1. 源代码中的导入代码&#xff1a; from ..utils.osutils import mkdir_if_missing #导入自己的 函数 from ..utils.serialization import write_json, read_json这个是将utils中的py文件导入到cuhk03中。但是报错&#xff01; 解决方法 1. 相对导入 其中上述…

待机、休眠、睡眠的区别和优缺点

Windows操作系统中很早就加入了待机、休眠等模式&#xff0c;而Windows Vista中更是新加入了一种叫做睡眠的模式&#xff0c;可是很多人还是习惯在不使用电脑的时候将其彻底关闭。其实充分利用这些模式&#xff0c;我们不仅可以节约电力消耗&#xff0c;还可以用尽可能短的时间…

LeetCode 508. 出现次数最多的子树元素和(递归)

1. 题目 给你一个二叉树的根结点&#xff0c;请你找出出现次数最多的子树元素和。 一个结点的「子树元素和」定义为以该结点为根的二叉树上所有结点的元素之和&#xff08;包括结点本身&#xff09;。 你需要返回出现次数最多的子树元素和。如果有多个元素出现的次数相同&…