C_sharp实验指导书

时间:2024.4.13

实验指导

实验一  VS2005集成开发环境

一、 实验目的

熟悉VS2005开发环境,掌握如何在此环境下开发简单的.NET应用程序,以及调试程序的基本操作技巧

二、 实验要求

1、     熟悉VS.NET环境;

2、     按照C#规范正确写源程序

3、     能得到正确的程序运行结果

三、 实验原理

C#程序开步骤:

编辑源程序—>编译à运行

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1.使用VS.NET创建一控制台程序,输出自己的姓名;

2.使用VS.NET创建一WinForm程序,输出自己的姓名;

六、 实验注意事项

应分析源程序,并注意运行结果是否为预期结果。

七、 思考题

1.   VS.NET环境有何优点?

2.   C#的程序结构?


实验二  最简单的C#程序开发

一、 实验目的

1.练习C#变量声明和赋值方法、类型转换方法

2.初步学习调试方法

二、 实验要求

1.   熟悉VS.NET环境;

2.   按照C#规范正确写源程序

3.   能得到正确的程序运行结果

三、 实验原理

1.C#程序开发过程

C#的程序结构由注释、编译预处理和程序主体组成。

(1) 注释:注释是写程序者为读程序者作的说明与注解,仅供人阅读程序使用,C++编译器把所有注释都视为空白。

(2) 编译预处理:每个以符号“﹟”开头的行,称为编译预处理行。

(3) 程序主体:C#用函数组织过程,函数定义是C++程序的主体,不同的程序由不同的函数按层次结构组织而成。

    程序主体基本形式

 

2.数据类型

①C#的数据类型

              

②常量与变量

实型常量:带有小数点的数,float、double等;

整型常量:不带小数点的数,int、long int等;

字符型常量:用一对单引号括起来的一个或多个字符,如’A’;

字符串常量:是括在一对双引号内的字符序列,如”Hello”;

枚举常量enum color{red,white,green}。

变量具有以下特点:

(1)变量是指程序中使用的一个被命名的存储区域(称程序实体),用以存放可由程序修改的值,其名称为变量名,其值称为变量值。

 (2)每个变量应属于一个特定的类型。

符号常量:在声明语句中,用const修饰的标识符将指称一个“只读的”程序实体,称为符号常量,如语句:const float Pi=3.1415926。

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1.运行如下程序,并找出错误,注意变量的定义与使用方法。

namespace test2

{

    class Program

    {

        static void Main(string[] args)

        {

            int m, n;

            float f;

            m = 12;

            n=3

            f=m+n;

            Console.Writeline("m={0}\n",m);

            Console.Writeline("f={0}\n", f);

        }

    }

}

2、在程序1的基础上定义一变量name,赋初置为你自己的姓名,然后输出name。

3、运行数据类型转换程序,对每个转换进行说明。

using System;

namespace test2

{

    class Program

    {

        static void Main(string[] args)

        {

            short shortResult, shortVal = 4;

            int integerVal = 67;

            long longResult;

            float floatVal = 10.5F;

            double doubleResult, doubleVal = 99.999;

            string stringResult, stringVal = "17";

            bool boolVal = true;

            Console.WriteLine("Variable Conversion Examples\n数据类型转换范例\n");

            doubleResult = floatVal * shortVal;

            Console.WriteLine("Implicit,->double:{0}*{1}->{2}", floatVal, shortVal, doubleResult);

            shortResult = (short)floatVal;

            Console.WriteLine("Implicit,->short:{0}->{1}", floatVal, shortResult);

            stringResult = Convert.ToString(boolVal) + Convert.ToString(doubleVal);

            Console.WriteLine("Explicit,->string:\"{0}\"+\"{1}\"->{2}", boolVal, doubleVal, stringResult);

            longResult = integerVal + Convert.ToInt64(stringVal);

            Console.WriteLine("Mixed,->long {0}+{1}->{2}", integerVal, stringVal, longResult);

        }

       

}

六、 实验注意事项

1、     应分析源程序,并注意运行结果是否为预期结果。

2、     注意大小写及英文字符(ASCII码)

七、 思考题

1、     如何通过VS.NET的调试窗口分析程序的错误?

2、     C#的基本程序结构?


实验三  运算符与表达式

一、 实验目的

1. 通过简单程序掌握C#运算符与表达式;

2. 提高程序可读性

3. 学习过程化程序设计方法

4. 进一步学习掌握查找与修改编译错误的方法

二、 实验要求

认真完成实验内容并得到正确的程序运行结果。

三、 实验原理

C#语句可以分为以下5类:

1.表达式语句:由一个表达式构成一个语句,最典型的是,由赋值表达式构成一个赋值语句。例:a=5;

2.声明语句:一个名字在使用之前必须先声明,以便建立名字与程序实体之间的映射关系。按声明的程序实体结构对象声明语句可以分为:声明变量;声明函数;声明对象。按产生不产生程序实体,声明语句可分为定义性与引用性两种。

3.空语句:只有一个分号的语句称为空语句。主要用于语法上要求有一条语句但实际没有任何操作可执行的场合。

4.块语句:也称为复合语句或分程序,是括在一对花括号之间的语句序列。在语法上它相当于一条语句,只是在花括号外不再写分号。块语句主要在两种情形下使用:语法要求一条语句,但又难以只用一条简单语句表达的情形;形成局部化的封装体。

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1.输入并运行下列程序并分析其运行结果。

using System;
class Unary {

public static void Main() {
int unary = 0;
int preIncrement;
int preDecrement;
int postIncrement;
int postDecrement;
int positive;
int negative;
sbyte bitNot;
bool logNot;
preIncrement = ++unary;
Console.WriteLine("Pre-Increment: {0}", preIncrement);
preDecrement = --unary;
Console.WriteLine("Pre-Decrement: {0}", preDecrement);
postDecrement = unary--;
Console.WriteLine("Post-Decrement: {0}", postDecrement);
postIncrement = unary++;
Console.WriteLine("Post-Increment: {0}", postIncrement);
Console.WriteLine("Final Value of Unary: {0}", unary);
positive = -postIncrement;
Console.WriteLine("Positive: {0}", positive);
negative = +postIncrement;
Console.WriteLine("Negative: {0}", negative);
bitNot = 0;
bitNot = (sbyte)(~bitNot);
Console.WriteLine("Bitwise Not: {0}", bitNot);
logNot = false;
logNot = !logNot;
Console.WriteLine("Logical Not: {0}", logNot);


}
}

2、程序设计

编写一程序,输入a、b、c的值,如果a>0,输出b*b-4ac,否则输入字符串”a是负数”。

提示:输入语句为Console.readLine(),输入符串。

六、 实验注意事项

1. 应分析源程序,并注意运行结果是否为预期结果。

2. 注意大小写及英文字符(ASCII码)

七、 思考题

条件表达式怎么用?


实验四  数组

一、 实验目的

1. 掌握数组声明与创建;

2. 掌握数组的引用及初始化。

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

1.一维数组

数组定义:类型[]  数组名[

数组初始化:数组可以初始化,即在定义时使它包含程序马上能使用的值,初始化表达式按元素顺序依次写在一对花括号内。值的个数不能多于数组元素的个数。

 数组引用:定义了数组,就可以对数组中的元素进行引用。引用方式为:

           数组名 [下标]

2、二维数组

数组可以有多个下标,数组中每个元素需要两个下标来表示称为二维数组,第一个下标表示该元素所在行,第二个下标表示所在列。

二维数组也可在定义时初始化。例:int array[2][3]={{1,2,3},{4,5,6}};

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1.     使用数组编写程序,输入5个数生的姓名,然后输出。

2.     使用二维数组,定义一个3X3的矩阵,求出对角线之和,并输出。

六、 实验注意事项

1.应注意合理应用for及while循环。

七、 思考题

1.     实验内容2,定义二维矩阵有几种方法。


实验五  分支程序设计

一、 实验目的

1.学会使用逻辑表达式表示条件的方法。

2.掌握if语句三种形式的用法。

3.学会设计有实际价值的分支结构程序。

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

If语句的形式: 

1)第一种形式为基本形式:if

    if(表达式) 语句

其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其过程可表示为下图。

2)第二种形式为: if-else

if(表达式) 

          语句1; 

        else 

          语句2;

   其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

其执行过程可表示为下图。

    输入两个整数,输出其中的大数。

改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。

3)第三种形式为if-else-if形式

前二种形式的if语句一般都用于两个分支的情况。 当有多个分支选择时,可采用if-else-if语句,其一般形式为:

if(表达式1)

        语句1;

    else  if(表达式2) 

        语句2;

    else  if(表达式3) 

        语句3;

        … 

    else  if(表达式m) 

        语句m;

    else

        语句n;

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1、简单if语句的用法。编写调试程序:从键盘输入一个任意大小的实数x,如果x满足如下条件,则输出x及其绝对值。输出x的条件:-29.5≤x≤29.5

2、if-else语句的用法。修改上面的程序,使得x满足-29.5≤x≤29.5时输出x及其绝对值,否则只输出x。

六、 实验注意事项

1.应分析源程序,并注意运行结果是否为预期结果。

七、 思考题

If语句括号如何匹配


实验六  循环结构程序

一、 实验目的

1.通过本实验,加深对循环控制结构有关概念的理解。

2.熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。

3.掌握二重循环结构程序的设计方法。

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

流程控制语句

① 条件语句:if () ~ else ~

② 循环语句:for () ~

③ 循环语句:while () ~

④ 循环语句:do ~ while ()

⑤ 结束本次循环语句:continue

⑥ 终止执行switch或循环语句:break

⑦ 多分支选择语句:switch(){case1;case2… ;default;}

⑧ 从函数返回语句:return

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1、 采用循环语句计算1!+2!+3!+4!+…+20!

2、 输入一个3X4数组,计算机所有元素之各并输出。

 

六、 实验注意事项

1、注意大小写及英文字符(ASCII码)

2、避免出现死循环

七、 思考题

1、For循环与While循环在什么情况下使用


实验七   

一、    实验目的

1.掌握C#类的概念和基本组成,学会设计类,掌握类的使用方法;

2.熟悉字段与方法的使用;

二、    实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、    实验原理

1.类定义:客观世界中的事物往往需要从属性与行为两个方面进行描述,在C#中,分别用数据成员与函数成员来表现,并且将它们封装在一起,形成一种抽象数据类型——类。

类具有数据成员和成员函数两种成员,类成员分为公开的(public)和私有的(private)两类。外界不能访问一个对象的私有部分,它们与对象间的信息传送只能通过公开成员函数等特定方法进行。

类接口定义的基本格式为

 

四、    主要仪器及耗材

计算机及VS.NET软件

五、    实验内容与步骤

设计一个Student类,包括学号、姓名、性别、出生日期、班级字段,要求:

①学号、姓名、班级为public,出生日期为private

②在main函数中输入字段学号、姓名、班级值;

③尝试在main函数中输入出生日期字段,如果无法输入则在不改出生日期private访问限制的情况下想办法解决

④输出Student的所有信息。

六、    实验注意事项

1. 注意访问修饰符的合理使用

七、    思考题

1、     类的公有与私有属性有何区别,如何运用?


实验八  类的封装性

一、              实验目的

1.掌握四种访问修饰符;

2.熟悉属性的定义与使用;

二、              实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、              实验原理

属性的定义格式为:
public <返回类型(与要修改和访问的字段同类型)> <属性名(不要与字段同名)>
{
get
{
   return <需要访问修改的字段>;
}
set
{
   <需要访问修改的字段>=value;
}
}

四、              主要仪器及耗材

计算机及VS.NET软件

五、              实验内容与步骤

设计一个商品类,类名为Commodity,要求:

①包括编号、名称、产地、单价、折扣、销售数量、总价属性

②在main函数中输入商品的各项属性;

③在main函数中输入商品销售数量,根据数量取得折扣,并计算出总价。如果销售数量小于5没有折扣,5~10折扣为0.9,大于等于10折扣为0.8。

④输出商品编号、名称、单价、销售数量、折扣、总价信息。

六、              实验注意事项

1. 注意访问修饰符的合理使用

七、              思考题

1.     类的公有与私有属性有何区别,如何运用?


实验九  类的继承性

一、           实验目的

1.掌握类的继承特性;

2.学会使用C#实现类的继承性;

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、           实验原理

继承是OOP最重要的特征之一

任何类都可以从另一个类中继承,这就是说,这个类拥有它被继承的类的所有成员。在OOP中,被继承(也称为派生)的类称为父类(也称为基类)。

继承可以从一个较一般的基类扩展或创建更多的特定类 。

继承是软件重用的一种形式

[访问修饰符]  class  <类名>:父类名

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

设计一个学生类,包括学号,姓名,性别属性,设计一大学生类继承于学生类,其属性除具备学生类的属性外,还有专业、高考成绩,设计一中学生类继承于学生类,其属性除具备学生类的属性外,还有年级、班级属生。对类进行测试(生成对象、输出对象属性)

六、 实验注意事项

1. 注意访问修饰符的合理使用

七、 思考题

子类能继承父类的哪些方法(public、private、protected)?


实验十  类的多态性

一、   实验目的

1.理解类的多态特性;

2.学会使用C#的方法重写;

二、   实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、   实验原理

1.类的方法重写

    在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。
格式:
基类中:
public virtual void myMethod()
{
}
子类中:
public override void myMethod()
{
}

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1.设计一个学生类,包括学号,姓名,性别属性,用方法Study输出“我会学习”,设计一大学生类继承于学生类,用方法Study输出“我学习大学课程”,设计一中学生类继承于学生类,用方法Study输出“我学习中学课程”。对类进行测试

2.在第1题的大学生类中,增加两同名方法,用于根据课程号显示该课程的名称及成级,如果只输入课程号则显示该课程所有学期的成绩,如果输入课程号及学期,则显示该课程指定学期的成绩。

六、 实验注意事项

1. 注意访问修饰符的合理使用

七、 思考题

大学生对象如何使用其父类的Study方法?


实验十一  Windows应用程序

一、 实验目的

1.掌握windows应用程序的结构;

2.掌握WinForm的设计;

3.  掌握菜单的设计;

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

1.Windows窗体的组成要素

ü 窗体(winform)

ü 菜单栏

ü 工具栏

ü 状态栏

2.Windows应用程序的类型

l  单文档应用程序

l  多文档应用程序

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

设计一个学生管理信息系统主窗体及学生信息子窗体,要求如下:

1、     主窗体为MDI容器,并包含菜单,菜单内容为信息管理(基本信息、成绩信息、学籍信息)、信息查询(基本信息、成绩信息、学籍信息)、统计报表(学生名册、成绩总表)

2、     子窗体用于显示学生基本信息,包括学号、姓名、性别、年龄、籍贯。该窗体通过“信息管理--基本信息”菜单项打开。

六、 实验注意事项

1. 注意打开子窗体的代码中必须指定MDI容器作为父窗体。

七、 思考题

MDI应用程序的特点?


实验十二  Windows基本控件(一)

一、 实验目的

1.掌握windows控件的使用方法;

2.掌握windows基本控件的常用属性、方法及事件;

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

1.本次实验中用到的Windows基本控件

Label控件

Button控件

TextBox控件

RadioButton控件

CheckBox控件

2.Windows基本控件的常用属性、方法及事件

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

设计一个学生信息窗体,要求如下:

1.      学生信息如下:学号、姓名、性别、年龄、籍贯、党员

2.      性别显示男、女两项,用户只能选择其中一项;是否党员采用复选框。其余信息采用文本框输入。

3.      输入完性别后,在窗体下端显示该学生的“学号姓名性别年龄”;选中“党员”,显示“入党时间20##年”。

4.      在窗口下端设置一按钮,名称为“输入简历”,单击后打开简历输入窗体。

六、 实验注意事项

1. 注意打开子窗体的代码中必须指定MDI容器作为父窗体。

七、 思考题

MDI应用程序的特点?


实验十三  Windows基本控件(二)

1. 实验目的

1.掌握windows控件的使用方法;

2.掌握windows基本控件的常用属性、方法及事件;

2. 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

3. 实验原理

1.本次实验中用到的Windows基本控件

ListBox控件

ComboBox控件

GroupBox控件

TabControl控件

DataTimePicker控件

2.Windows基本控件的常用属性、方法及事件

4. 主要仪器及耗材

计算机及VS.NET软件

5. 实验内容与步骤

设计一个学生信息窗体,要求如下:

1.  学生信息如下:学号、姓名、性别、年龄、籍贯、党员、照片、简历

2.  学号、姓名、性别、年龄、籍贯、党员、照片在基本信息选项卡上,并在GroupBox中;简历在简历选项卡里

3.  籍贯采用ComboBox,并添加选项数据。

4.  简历采用ListBox,用户通过文本框输入简历后,点“添加简历”按钮将简历数据加到ListBox类。

5. 实验注意事项

6. 思考题

1.在程序中如何获取选中的ComboBox选项?


实验十四  程序调试与异常处理

一、 实验目的

1、 掌握.NET程序调试的方法。
2、 掌握异常处理的实现机制。

3、 熟练掌握C#关键字try、catch、throw和finally的使用。

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

1.常见程序错误

q  错误的语法、输入错误、拼写错误

q  无限循环

q  执行不到的代码

q  使用没有进行赋值的对象

2、进行调试状态

q  观察程序运行时行为

q  跟踪变量的值

q  确定语义错误的位置

q  查看寄存器的内容

q  查看寄存器的内容

q  查看内存空间

 

3.异常处理

try

{

//程序代码

}

catch

{

//错误处理代码

}

finally

{

//finally 代码

}

四、 主要仪器及耗材

计算机及VS.NET软件

五、 实验内容与步骤

1. 10个整数存于数组中,在输入非数字字符时,定义一个异常来捕捉,并进行提示。

2.  以下程序找出5个数中的最大与最小数,并求出每个数平方的阶乘s,运行程序,输入5个数,设置断点记录下每次i循环s的值,观察s是否正确,不正确则找出问题并排队错误。

using System;

namespace ConsoleApplication3

{

    /// <summary>

    /// Class1 的摘要说明。

    /// </summary>

    class Class1

    {

        /// <summary>

        /// 应用程序的主入口点。

        /// </summary>

        [STAThread]

        static void Main(string[] args)

        {

            int[] num = new int[5];

            int max;

            int min;

            for(int i = 0; i < 5; i++)

            {

                Console.WriteLine("请输入第{0}个数 :",i +1);

                num[i] = int.Parse(Console.ReadLine());

            }

            max = num[0];

            min = num[0];

            int s=1;

            for (int i = 1; i < 5; i++)

            {

                if (max < num[i]) max = num[i];

                if (min > num[i]) min = num[i];

                for(int j=1;j<i*i;j++)

                  s=s*j;

            }

            Console.WriteLine("最大数是:{0}",max);

            Console.WriteLine("最小数是:{0}",min);

            Console.WriteLine("按回车键退出...");

            Console.ReadLine();

        }

    }

}

六、 实验注意事项

七、 思考题

1.在程序中如何缩小程序的错误范围尽快找到错误?


实验十五  数据库编程(一)

一、 实验目的

1.掌握SQL Server的基本使用方法;

2.掌握SQL Server下表的创建;

3.掌握基本SQL语句用法

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

1)Select语句

功能:从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列

语法:

SELECT select_list [ INTO new_table ]

[ FROM table_source ] [ WHERE search_condition ]

[ GROUP BY group_by_expression]

[ HAVING search_condition]

[ ORDER BY order_expression [ ASC | DESC ] ]

最基本的select语句:

select <字段清单> from <表清单> where <表达式>

字段清单:查询结果中要显示的字段,字段间用逗号分开。*表示所有字段。

表清单:要查询的表清单,表间用逗号分开

表达式:where中的查询条件,逻辑表达式

2)update语句

语法格式:

    update 表名 set 字段名=值,字段名=值,… where 条件

例:将employee表中所有员工的salary变为500

将employee表中1980后出生的的salary变加500

3)delete语句

语法格式:

    delete 表名 <where 条件>

例:将employee表中salary为500的记录删除

4)insert语句

Insert into 表名 (字段表) value (值表)

四、 主要仪器及耗材

计算机及SQL Server2000软件

五、 实验内容与步骤

1.在SQL Server2000下创建一个数据库school,在school库下建一学生表student,输入10条数据,表结构如下,要求自己设计字段类型及宽度,并在实验报告中将下表填完整:

2.使用SQL语句完成以下数据操纵,在实验报告中记录下你的SQL语句

1)查询所有1980年后出生的男同学

2)查询所有姓张的同学,并只显示xh,xm两列

3) 将你自己的信息用insert语句插入

4)将所有男同学的学号末尾加字符N

5)删除所有的女同学

六、 实验注意事项

根据数据项的实际功能正确定义数据类型及宽度

七、 思考题

什么是主键,有何特征,如何确定主键字段或字段组合?


实验十六  数据库编程(二)

一、 实验目的

1.掌握ADO.NET使用方法;

2.掌握Connection对象的使用方法;

3.掌握Command对象的使用用法

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

1.创建数据服务器连接;

2. 设计主窗体,窗体名称“学生信息”,

3.创建Connection对象

第一种方式:编写代码

SqlConnection objSqlConnection =

      new SqlConnection ("server = SQLDB;

      uid = sa; pwd = password; database = pubs");

objSqlConnection.Open();
第二种方式:VS.Net环境可视化操作

objSqlConnectionà创建的连接对象名称

SQLDB:存储“pubs”数据库的服务器名称

本地服务器可以有以下几种写法:

1、(local)

2、127.0.0.1

3、本地机子名称

4. 创建Command对象

第一种方式:编写代码

string strSQL=”select * from student”

SqlCommand objSqlCommand = new SqlCommand(strSQL);

objSqlConnection.Open();

第二种方式:VS.Net环境可视化操作

objSqlConnection à创建的 Command 对象名称

strSQ:select * from student

四、 主要仪器及耗材

计算机及VS2005及SQL Server2000软件

五、 实验内容与步骤

设计一个学生管理信息系统主窗体,要求如下:

1.主窗体为MDI容器,并包含菜单,菜单内容为信息管理(基本信息、成绩信息、学籍信息)、信息查询(基本信息、成绩信息、学籍信息)、统计报表(学生名册、成绩总表)

2.子窗体用于显示学生基本信息,包括一个ListBox对象用于显示数据库中student表的数据。

3.创建connection对象连接至student数据库。

4.创建Command对象用于检索student表的所有数据。

5.编程实现数据通过ListBox显示。

六、 实验注意事项

根据数据项的实际功能正确定义数据类型及宽度

七、 思考题

DataSet如何子数据库获取到数据?

参考代码:

//请根据Sql Server的配置,指定连接串中的用户名和密码。

    string cnStr = "Persist Security Info=True;User ID=sa;Password=qq;Initial Catalog=Northwind;Data Source=CHQHAO";

    SqlConnection cn = new SqlConnection(cnStr);

    cn.Open();

    sqlStr = "SELECT * FROM Categories";

    SqlCommand cmd = new SqlCommand(sqlStr, cn);

    SqlDataReader dr = cmd.ExecuteReader();

    while(dr.Read())

     {

        id = dr["CategoryId"].ToString();

        string name = dr["CategoryName"].ToString();

        Console.WriteLine("编号:{0}  姓名:{1}", id, name);

    }

    dr.Close();

    cn.Close();

    Console.ReadLine();

// 插入命令

 insCmd = "insert into FlightDetails values

 ('"+this.txtFlightCode.Text+"', '"+this.txtAirline.Text+"','“

 +this.txtDestination.Text+"', '“+this.txtSource.Text+"','“

 +this.txtArrival.Text+"', '"+this.txtDeparture.Text+"', “

 +this.cboSeats.SelectedItem.ToString()+")";

//删除

delCmd = "delete from FlightDetails where FlightCode like '“   +this.txtFlightCode.Text+"'";

MessageBox.Show(delCmd);

// 初始化 command 对象

objSqlCommand = new SqlCommand(delCmd, objSqlConnection);

try

{

 // 初始化 DialogResult

 DialogResult objDialogResult =

 MessageBox.Show(“您确定要删除当前记录吗?",

    “确认",    MessageBoxButtons.YesNo);

 // 确定用户的响应

 if (objDialogResult.Equals(DialogResult.Yes))

 {

       objSqlConnection.Open();

       objSqlCommand.ExecuteNonQuery();

       MessageBox.Show(“已删除记录");

       btnModify.Enabled = false;

 }


实验十七  数据库编程(三)

一、 实验目的

1.掌握数据集的使用方法;

2.掌握数据绑定方法;

3.DataGridView的使用

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

数据绑定一般步骤:

(一).无论是简单型的数据绑定,还是复杂型的数据绑定,要实现绑定的第一步就是就是要连接数据库,得到可以操作的DataSet。下面二段代码是分别连接Access 2000和Sql Server 2000数据库,并获得DataSet。

(1). 连接数据库,得到DataSet:

//创建一个 OleDbConnection

string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;

OleDbConnection myConn = new OleDbConnection ( strCon ) ;

string strCom = " SELECT * FROM person " ;

file://创建一个 DataSet

myDataSet = new DataSet ( ) ;

myConn.Open ( ) ;

file://用 OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;

file://把Dataset绑定person数据表

myCommand.Fill ( myDataSet , "person" ) ;

file://关闭此OleDbConnection

myConn.Close ( ) ; 

(2). 连接Sql Server 2000,得到DataSet:

// 设定数据连接字符串,此字符串的意思是打开Sql server数据库,服务器名称为server1,数据库为data1

string strCon = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data1 ; Data Source = server1 " ;

OleDbConnection myConn = new OleDbConnection ( strCon ) ;

myConn.Open ( ) ;

string strCom = " SELECT * FROM person " ;

file://创建一个 DataSet

myDataSet = new DataSet ( ) ;

file://用 OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;

file://把Dataset绑定person数据表

myCommand.Fill ( myDataSet , " person " ) ;

file://关闭此OleDbConnection

myConn.Close ( ) ; 

(二).根据不同组件,采用不同的数据绑定:

对于简单型的数据绑定,数据绑定的方法其实比较简单,在得到数据集以后,一般是通过把数据集中的某个字段绑定到组件的显示属性上面,譬如TextBox组件和Label组件,是绑定到"Text"属性。对于复杂型的数据绑定一般是通过设定其某些属性值来实现绑定的。

四、 主要仪器及耗材

计算机及VS2005及SQL Server2000软件

五、 实验内容与步骤

采用DataSet方式进行数据操纵,从SQLServer读取Product表的数据,设计一个产品数据列表主窗体;放置一个ListBox控件,以列表的方式ProductName;用文本框进行产品数据绑定,显示每个产品的详细信息。

六、 实验注意事项

根据数据项的实际功能正确定义数据类型及宽度

七、 思考题

Ado.net进行数据库编程的步骤是什么?


实验十八  数据库编程(四)

一、 实验目的

1.掌握ADO.NET数据库编辑的方法;

2.掌握ADO.NET下对数据的增删改查;

二、 实验要求

1.认真完成实验内容并得到正确的程序运行结果。

2.为你的程序加上注释,使得其清晰可读。

3.利用调试程序来修改你程序的逻辑错误

三、 实验原理

四、 主要仪器及耗材

计算机及VS2005及SQL Server2000软件

五、 实验内容与步骤

开发一简单的通讯录程序,要求如下:

1.自己设计通讯录数据表结构,包括ID、姓名、性别、手机、电话、单位、住址几项,数据库采用SQL Server2000。

2.主窗体名为“通讯录信息管理“,通过文本框输入数据,通过DataGridView显示所有通讯录数据。

3.能够进行通讯录的数据增加、删除、修改

4.实现查询功能,可通过姓名、单位等字段查询通讯录,并在DataGridView中显示查询结果。

六、 实验注意事项

注意类的设计、类的方法封装

七、 思考题

如何实现三层体系架构,表示层、逻辑层、数据访问层在此程序中应如何设计?

更多相关推荐:
Research paper

LuxiLiuCompositionampRhetoric1301120720xxDietandHealthThefoodchoiceswemakecanhaveanimportantimpactonourhealthHoweve...

论文架构 Research Paper

论文架构ResearchPaper1选题2查阅资料将选题具体化3收集资料并整理作笔记或卡片4开题报告5撰写任务书6提纲起草论文文献综述毕业论文文献综述文献综述要写明目的范围研究现状以及作者的评价和自己的观点一篇...

format of a research paper introduction论文的标准格式

WritingaResearchPaperIntroductionAstepbystepreferenceTheintroductionisthefirstchapterofaItstartsfromtheresearchprop...

position paper-中文范文

代表学校国家委员会议题金融危机中的国际合作自20xx年9月以来由美国次贷危机所引发的金融经济危机已经波及全球在此期间如华尔街五大投资公司的彻底消失股市期货的一路贬值各国经济指标的自由落体式的下滑都不约而同地一再...

怎么写一篇好的paper

怎么写一篇好的paper经典WhitesidesGroupWritingaPaperGeorgeMWhitesidesDepartmentofChemistryandChemicalBiologyHarvard...

research proposal

DevelopingResearchProposalsHandoutPreparedbyTedZornUniversityofWaikatoThisisahandoutIoftengivetostudentswhenIexpect...

工作文件 Working_Paper

工作文件WorkingPaper定义在会议进行到一定程度后结合各国现阶段立场由一国或几国写的文件工作文件大多是针对会议上遇到的某一问题的看法和观点的总结罗列以及解决方法工作文件的意义它可以明确一下各国从开会到写...

模拟联合国Position Paper范例(标准格式)

PositionPaperDelegateHanJingdaSchoolHighSchoolAttachedtoNortheastNormalUniversityCountryTheRepublicofBoli...

paper

初一英语期末试卷一单项选择每小题2分计40分1ThisisalarmclockAaBanCtheD2WedontlikeAbroccoliBbroccolisCabroccoliDbroccolies3Isth...

Paper Proposal0

PaperProposalEngineeringIntroductiontomechanicalEngineeringTABLEOFCONTENTSEXECUTIVESUMMARY错误未定义书签12INTROD...

提案报告写作Report and Technical Writing-Proposal

ReportandTechnicalWritingProposalsICheckingtheExercisesofAnalyticalReports1Whatarethemajordifferencesbetweeninforma...

research proposal范文

Researchproposal1TitleCormacMcCarthysTheRoadandAmericanModernEschatologyOrModernEschatologyofthe21stcentu...

research paper(16篇)