数据存储过程传递数据及内部接收数据

本文介绍了数据存储过程如何传递数据,强调了在创建存储过程中需要注意的数据类型和条件判断。同时,概述了服务控制台如何使用DataSet接收并处理数据,强调了DataSet作为内存中数据库的特性,以及其独立于数据库且基于XML描述数据的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、数据存储过程传递数据

操作过程:新建存储过程,并在改变过程后面填写你的存储名称。AS BEGIN 是作为开始的一段代码,在写每段查询语句都必须有BEGIN开头和END末端才能执行。添加时注意表是否是数据类型,比如· 账号、密码数字之类的都需要添加一个指定char(30)=’'字符长度类型 否者后面会发生异常。如果外部数据要进行接收数据那就给一个指定的条件方法 如 IF(@type=‘表达式’)。当你在查询语句条件下,我们需要写一些方法对数据进行一些整理 RTRIM主要进行清除字符串结尾空格符右截取空格字符串,然后用括号包含表的字段查询 括号结尾写上 AS 命名。

ALTER PROCEDURE [dbo].[FRM_Logins]
	@type char(200)='',@accounts char(30)='',@password char(30)=''
AS
BEGIN
	IF(@type='frmLogin_btn_Login_Click_SelectLogin')
	BEGIN
	--登录 by 账号和密码--
		SELECT  t_operators.operator_id, t_operators.staff_id, 
		        RTRIM(t_operators.operator_accounts) AS  operator_accounts, 
				RTRIM(t_operators.operator_password) AS operator_password, 
				RTRIM(t_detailed_attribute_gather.detailed_attribute_gather_name)  AS branch, 
				RTRIM(t_staff.staff_name) AS staff_name

		FROM      t_operators INNER JOIN
				t_staff ON t_operators.staff_id = t_staff.staff_id INNER JOIN
				t_detailed_attribute_gather ON t_staff.as_branch_id = t_detailed_attribute_gather.detailed_attribute_gather_id

		WHERE t_operators.effective=1 AND  operator_accounts=@accounts AND operator_password=@password 
	END
END

2、服务控制台接收数据操作方法

DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。

 public class WD_LoginWindow
    {
 DAL.DALMethod myDALMethod = new DAL.DALMethod(); //1.0 实例化数据层
        [OperationContract] //定义操作契约
        public DataSet btn_Login_Click_CheckLogin(string strAccounts,string strPassword) {
            //1.0 实例化对象数组(实例化参数)
            SqlParameter[] mySqlParameters = {
                //定义传递参数,以及传递参数的类型
                new SqlParameter("@type",SqlDbType.NChar),//接收名称数据
                new SqlParameter("@accounts",SqlDbType.NChar),//接收账号
                new SqlParameter("@password",SqlDbType.NChar),//接收密码
            };
            mySqlParameters[0].Value = "btn_Login_Click_CheckLogin";//获取执行的储存过程名称
            mySqlParameters[1].Value = strAccounts;
            mySqlParameters[2].Value = strPassword;
            //DataSet ds = myDALMethod.QueryDataSet("WD_LoginWindow", mySqlParameters);
            //// 返回值
            //return ds;
            DataTable myDataTable = myDALMethod.QueryDataTable("WD_LoginWindow", mySqlParameters);
            DataSet myDataSet = new DataSet();   //缓存数据
            myDataSet.Tables.Add(myDataTable); // 添加参数
            return myDataSet; // 返回值
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值