创建一个带有输入参数的嵌套调用的存储过程的方法

在学习SQL的时候,发现我们的教材里没有存储过程的描述,实在是太水了!于是到图书馆借了本SQL server的书,希望能找到完成以下的要求的方法。因为对SQL的语法不熟悉,还是没做出来。上网查阅了之后,还是没有找到我想要的结果。最后,跟同学讨论之后,完成了这个问题,在这里,给出这个问题的解决方法,希望在未来能给网友带来帮助。

题目:

创建并执行带有输入参数的嵌套调用的存储过程proc_嵌套_学生成绩,输入学生的姓名,可以查询学生的每门课的成绩。首先创建一个带有输入和输出参数的存储过程proc_STU,查询指定学生姓名的学生编号,输入参数保存在“@Sname”,输出参数保存在“@Sno”中,最后根据Sno在Reports表中查询成绩。

首先,先创建存储过程proc_STU:

 

 

 

这个存储过程是用来嵌套在下面这个“proc_嵌套_学生成绩”存储过程中的。接着,就要创建“proc_嵌套_学生成绩”

 

 

 

 

 

要注意以上的语句的!最后,只要输入语句“EXEC proc_嵌套_学生成绩 @Sname=’某某某’”并执行就行了。

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=439

关于在C++中输入带空格的字符串的方法

        这几天,在做assignment的时候发现了一个问题,当我在cin>>中输入带有空格的课程名字的时候,程序会中断。我也在网上查看了很多关于这个问题的资料,例如一下的代码:

#include
void main()
{
char str[20];
cout<<"input :="" p="">
cin.getline(str,20);
cout<<str<<endl;
}

        这个代码我亲自用过,但是在我的电脑以及VMware虚拟机中的VC 6.0中测试的时候,发现根本不行,依然中断。而在学校的机房却完全可以,有人说是我的人品问题。

后来找到了一个方法:

#include
#include
#include
using namespace std;
void main()
{
char unitName[30];
cout<<"\nplease enter="" the="" unit="" name:="" n="" p="">
 getchar();
gets(unitName);
cout<<unitName<<endl;
}

用getchar(); 和gets(unitName);的组合,

getchar()是程序等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。

而gets()输入是不会遇到空格就停止的函数。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=15