4-2 ADO.NET-查询和检索数据12

简介:
(接上节代码)
//=============== 建立数据库类文件BuessinessLayer.cs====================
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Data;
using  System.Data.SqlClient;
 
namespace  WindowsApplication1
{
    class Buessiness
    {
        /// 下面,开始实例化另一个命名空间的一个类
        Mydatabase DB = new Mydatabase();
        /*******************************************************
       ** 方 法  名:Getteacherinfo
       ** 输 入参数:int id教师主键
       ** 输 出参数:out int dno教师系编号, out int xb教师性别编号, out string zc教师职称,out string degree教师学位
       ** 返 回  值:无
       ** 创 建  人:钱哨
       ** 创 建日期:08-7-9
       **      述:通过存储过程逻辑查询教师具体信息。
       *******************************************************/
        public void Getteacherinfo(int id, out int dno, out int xb, out string zc, out string degree, out string dname, out string tname)
        {
            // 下面建立执行存储过程的字符串,一般建议该存储过程的执行最好在查询分析器之中执行通过,同时保证执行参数名称的正确。
            string sql = String.Format("exec proc_find_teachermess " + id.ToString() + " ,@dno output,@xb output,@zc output,@degree output,@dname output,@tname output");
            // 执行的T-SQL
            SqlCommand MyCommand = DB.GetProcCommand(sql);
            MyCommand.Parameters.Add(new SqlParameter("@dno"SqlDbType.Int));
            MyCommand.Parameters.Add(new SqlParameter("@xb"SqlDbType.SmallInt));
            MyCommand.Parameters.Add(new SqlParameter("@zc"SqlDbType.VarChar, 20));
            MyCommand.Parameters.Add(new SqlParameter("@degree"SqlDbType.VarChar, 20));
            MyCommand.Parameters.Add(new SqlParameter("@dname"SqlDbType.VarChar, 30));
            MyCommand.Parameters.Add(new SqlParameter("@tname"SqlDbType.VarChar, 20));
            MyCommand.Parameters["@dno"].Direction = ParameterDirection.Output;
            MyCommand.Parameters["@xb"].Direction = ParameterDirection.Output;
            MyCommand.Parameters["@zc"].Direction = ParameterDirection.Output;
            MyCommand.Parameters["@degree"].Direction = ParameterDirection.Output;
            MyCommand.Parameters["@dname"].Direction = ParameterDirection.Output;
            MyCommand.Parameters["@tname"].Direction = ParameterDirection.Output;
            MyCommand.ExecuteNonQuery();
            dno = Convert.ToInt16(MyCommand.Parameters["@dno"].Value);  //接收输出的参数
             xb = Convert.ToInt16(MyCommand.Parameters["@xb"].Value);
             zc = Convert.ToString(MyCommand.Parameters["@zc"].Value);
             degree = Convert.ToString(MyCommand.Parameters["@degree"].Value);
            dname = Convert.ToString(MyCommand.Parameters["@dname"].Value);
            tname = Convert.ToString(MyCommand.Parameters["@tname"].Value);
        }
        /*******************************************************
        ** 方 法  名:GetSendCourse
        ** 输 入参数:派课编号
        ** 输 出参数:
        ** 返 回  值:
        ** 创 建  人:钱哨
        ** 创 建日期:08-7-9
        **      述:通过存储过程逻辑查询某个派课信息的各种结果值。
        *******************************************************/
        public void GetCourselist(int id, out int cno, out int tno, out string skxq, out int sktime, out int bno, out string tname, out string cname, out string bname, out string skxqn, out int zt, out int schno, out string schname, out int stunum, out int yy, outint wy, out int ztbk, out int stunumbk, out int yybk, out int wybk, out int ztqk, out int stunumqk, out int yyqk, out int wyqk)
        {
            cno=0; tno=0; sktime=0; bno=0; zt=0; schno=0; stunum=0; yy=0; wy=0; ztbk=0; stunumbk=0; yybk=0; wybk=0; ztqk=0; stunumqk=0; yyqk=0; wyqk=0;
            skxq = ""; tname = ""; cname = ""; bname = ""; skxqn = ""; schname = "";
            if (id > 0)
            {
                string sql = String.Format("exec proc_find_sendcourse " + id + ",@cno output, @tno output,@skxq output, @sktime output,@bno output,@tname output,@cname output,@bname output,@skxqn output,@zt output,@schno output,@schname output,@stunum output,@yy output,@wy output, @ztbk output, @stunumbk output, @yybk output, @wybk output, @ztqk output, @stunumqk output, @yyqk output, @wyqk output");
                // 执行的T-SQL
                SqlCommand MyCommand = DB.GetProcCommand(sql);
                MyCommand.Parameters.Add(new SqlParameter("@cno"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@tno"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@skxq"SqlDbType.VarChar, 10));
                MyCommand.Parameters.Add(new SqlParameter("@sktime"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@bno"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@tname"SqlDbType.VarChar, 30));
                MyCommand.Parameters.Add(new SqlParameter("@cname"SqlDbType.VarChar, 30));
                MyCommand.Parameters.Add(new SqlParameter("@bname"SqlDbType.VarChar, 30));
                MyCommand.Parameters.Add(new SqlParameter("@skxqn"SqlDbType.VarChar, 30));
                MyCommand.Parameters.Add(new SqlParameter("@zt"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@schno"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@schname"SqlDbType.VarChar, 30));
                MyCommand.Parameters.Add(new SqlParameter("@stunum"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@yy"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@wy"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@ztbk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@stunumbk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@yybk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@wybk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@ztqk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@stunumqk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@yyqk"SqlDbType.Int));
                MyCommand.Parameters.Add(new SqlParameter("@wyqk"SqlDbType.Int));
                MyCommand.Parameters["@cno"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@tno"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@skxq"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@sktime"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@bno"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@tname"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@cname"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@bname"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@skxqn"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@zt"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@schno"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@schname"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@stunum"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@yy"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@wy"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@ztbk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@stunumbk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@yybk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@wybk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@ztqk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@stunumqk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@yyqk"].Direction = ParameterDirection.Output;
                MyCommand.Parameters["@wyqk"].Direction = ParameterDirection.Output;
                MyCommand.ExecuteNonQuery();
                cno = Convert.ToInt16(MyCommand.Parameters["@cno"].Value);  //接收输出的参数
                 tno = Convert.ToInt16(MyCommand.Parameters["@tno"].Value);
                skxq = Convert.ToString(MyCommand.Parameters["@skxq"].Value);
                sktime = Convert.ToInt16(MyCommand.Parameters["@sktime"].Value);
                bno = Convert.ToInt16(MyCommand.Parameters["@bno"].Value);
                 tname = Convert.ToString(MyCommand.Parameters["@tname"].Value);
                cname = Convert.ToString(MyCommand.Parameters["@cname"].Value);
                 bname = Convert.ToString(MyCommand.Parameters["@bname"].Value);
                 skxqn = Convert.ToString(MyCommand.Parameters["@skxqn"].Value);
                 zt = Convert.ToInt16(MyCommand.Parameters["@zt"].Value);
                schno = Convert.ToInt16(MyCommand.Parameters["@schno"].Value);
                schname = Convert.ToString(MyCommand.Parameters["@schname"].Value);
                stunum = Convert.ToInt16(MyCommand.Parameters["@stunum"].Value);
                yy = Convert.ToInt16(MyCommand.Parameters["@yy"].Value);
                wy = Convert.ToInt16(MyCommand.Parameters["@wy"].Value);
                ztbk = Convert.ToInt16(MyCommand.Parameters["@ztbk"].Value);
                stunumbk = Convert.ToInt16(MyCommand.Parameters["@stunumbk"].Value);
                 yybk = Convert.ToInt16(MyCommand.Parameters["@yybk"].Value);
                wybk = Convert.ToInt16(MyCommand.Parameters["@wybk"].Value);
                 ztqk = Convert.ToInt16(MyCommand.Parameters["@ztqk"].Value);
                stunumqk = Convert.ToInt16(MyCommand.Parameters["@stunumqk"].Value);
                yyqk = Convert.ToInt16(MyCommand.Parameters["@yyqk"].Value);
                 wyqk = Convert.ToInt16(MyCommand.Parameters["@wyqk"].Value);
                DB.close();
            }
        }
    }
}
u 实验步骤(5):
鼠标右击项目,在弹出的菜单中选择“添加”、“新建项”,在弹出的“添加新项”窗体中选择“代码文件”,名称改为“ DataBaseLayer . cs ,点击“添加”按钮,完成添加。该文件在前面已有论述,此处不再复述。
u 实验步骤(6):
用鼠标双击各个 Button 控件,进入.cs文件编辑状态准备进行开发。代码加下:
 




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/216111,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
开发框架 JavaScript .NET
asp.net中条件查询+分页
asp.net中条件查询+分页
15 1
|
1月前
mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
8 0
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
65 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
4月前
|
SQL 开发框架 .NET
|
4月前
|
XML SQL 开发框架
|
1月前
|
SQL 数据库
使用ADO.NET查询和操作数据
使用ADO.NET查询和操作数据
9 0
|
2月前
|
SQL 开发框架 .NET
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
67 0
|
4月前
|
开发框架 .NET
|
4月前
|
开发框架 .NET C#
|
4月前
|
Oracle 关系型数据库 数据管理
.NET医院检验系统LIS源码,使用了oracle数据库,保证数据的隔离和安全性
LIS系统实现了实验室人力资源管理、标本管理、日常事务管理、网络管理、检验数据管理(采集、传输、处理、输出、发布)、报表管理过程的自动化,使实验室的操作人员和管理者从繁杂的手工劳作中解放出来,提高了检验人员的工作效率和效益,降低了劳动成本和差错发生率。