数据库程序开发基础_第1页
数据库程序开发基础_第2页
数据库程序开发基础_第3页
数据库程序开发基础_第4页
数据库程序开发基础_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第10章章 数据库程序开发基础数据库程序开发基础主讲:李光强邮箱:LQQ:41733233教学目标教学目标熟悉熟悉C#开发基础开发基础掌握掌握C#连接数据库连接数据库SQLSERVER的基本方法的基本方法熟悉熟悉C#应用程序操作数据库的基本方法应用程序操作数据库的基本方法了解了解C#显示数据库查询显示数据库查询/操作的常用控件操作的常用控件了解了解WebForm中访问数据库的基本中访问数据库的基本方法方法教学提纲教学提纲10.1 C#开发基础开发基础10.2 C#连接连接SQLSERVER的基本方法的基本方法10.3 WinForm程序示例程序示例10.4 WebForm程序示例程序示例10

2、.1 C#基础元素基础元素语句语句 :c#语句以分号作为结束的标志。语句以分号作为结束的标志。块块 :c#中以中以 作为块的标志。作为块的标志。注释注释 :1 以以/作为单行注释的标志作为单行注释的标志 2 以以/* */作为块注释的标志作为块注释的标志标识符标识符:1保留作为专用的字保留作为专用的字 2用于声明的变量(用于声明的变量(关键字关键字 :即标识符的第一种情况,用于作为专用的:即标识符的第一种情况,用于作为专用的字。字。变量变量声明变量的方式声明变量的方式-给变量赋值的方式给变量赋值的方式-=eg: -int a;/定义一个定义一个int型的变量型的变量-a=25;/给变量赋值给变

3、量赋值数据类型数据类型1基本数据类型基本数据类型-整型(整型(int) 布尔型布尔型 (boolean) 字符型字符型(char) 实数型(实数型(float) 双精度型双精度型2结构数据类型结构数据类型- 结构结构 - 枚举枚举- 引用类型引用类型- 类类 接口接口 - 数组数组数据类型的转换数据类型的转换1 隐式转换和显示转换隐式转换和显示转换-精度低的可以隐式转换成精度高的。精度低的可以隐式转换成精度高的。-精度高的要强制转成精度低的。精度高的要强制转成精度低的。2数值字符串和数值转换数值字符串和数值转换-Convert类处理类处理3字符串和字符数组转换字符串和字符数组转换举例:显示和隐

4、式转换举例:显示和隐式转换class Program static void Main(string args) int i1 = 80; double d1 = i1;/自动由低精度转换成高精度自动由低精度转换成高精度 Console.WriteLine(d1); Console.ReadLine(); / double d2 = 80.23; /int i2 = d2;/报错报错 思考思考什么是强制型转换?什么是强制型转换?例如:例如:var o=“123”;int d=(int)var;举例:变量类型转换举例:变量类型转换1.数值型向字符型转换数值型向字符型转换-double x=123

5、.123;-string str=x.ToString();2.字符型向数值型转换字符型向数值型转换 -Convert类类-string str=“123.123”;-double d=Convert.ToDouble(str);-注意:还有注意:还有int.Parse,float.Parse,double.Parse,- int.TryParse,float.TryParse,double.TryParse等等-Eg: int a=int.Parse(“123”);3.日期型和字符型转换日期型和字符型转换 Convert或或ToString-MessageBox(“Today is ” +D

6、ateTime.Now.ToString(“yyyy年年MM月月dd日日”);举例:字符串和字符数组的转换举例:字符串和字符数组的转换class Program static void Main(string args) string str = abcdefg; char ch=str.ToCharArray();/将字符串转成字符数组将字符串转成字符数组 foreach (char c in ch) Console.WriteLine(c); string newstr = new string(ch);/将字符数组转成字符串将字符数组转成字符串 运算符运算符赋值赋值 =复合赋值复合赋值

7、+= -= *= /= %= 比较运算比较运算 = != =操作符操作符 is as逻辑运算符逻辑运算符 & | !自增自增 自减自减 + - new操作符操作符 checked 和和unchecked三元操作符三元操作符 b?x:y流程控制流程控制顺序顺序:按照从上往下执行代码。:按照从上往下执行代码。条件条件:if else switch循环循环: while do while for foreach跳出循环跳出循环: break 终止循环终止循环 continue 跳出当前的循环跳出当前的循环 return 跳出方法跳出方法 goto 跳到指定的标志跳到指定的标志异常处理异常处理

8、异常处理主要包括三个代码块异常处理主要包括三个代码块try用于要处理的对象用于要处理的对象catch(异常异常的类型)的类型)处理后的反馈信息处理后的反馈信息finally无论是否产生异常都会处理无论是否产生异常都会处理举例:异常捕捉与处理举例:异常捕捉与处理try double x = 100, y = 0; double d = x / y; catch (Exception ex)MessageBox.Show(错误:错误: + ex.Message);数组数组数组的声明数组的声明数组类型修饰符数组类型修饰符 数组名数组名=new 数组类型数组类型数组元素初始化数组元素初始化列表列表Eg

9、1:-int myIntArr = new int6 1,2,3,4,5,6;Eg2:-Int IntArr=new int3;-IntArr0=0;-IntArr1=1;-IntArr2=2;思考与练习思考与练习如何定义一个字符串数组,用于存储若干个省如何定义一个字符串数组,用于存储若干个省市的名称?市的名称?答案:答案:-string =new string3“湖南湖南”, “湖北湖北”, “四川四川” ;-或者或者-string =new string3;- string0=“xxx”;-ArrayListArrayList可以处理任意数据类型和任意容量的数据,可以处理任意数据类型和任意

10、容量的数据,而数组容量要固定,类型要统一。而数组容量要固定,类型要统一。ArrayList类被设计成为动态数组,其容量可以动态类被设计成为动态数组,其容量可以动态的添加,常用的方法的添加,常用的方法;Add() 添加元素添加元素Remove() 删除元素删除元素RemoveAt(int i) 删除索引为删除索引为i的元素的元素Sort() 排序排序Clone() 复制复制Reverse()() 反转数组元素反转数组元素举例:举例:ArratListArrayList al = new ArrayList(); al.Add(7);al.Add(90);al.Add(hao are you);a

11、l.Add(40.5);foreach(object o in al)Console.WriteLine(o);al.Reverse();Console.WriteLine(al的反转后为:的反转后为:);foreach(object o in al) Console.WriteLine(o);泛类型泛类型List 变量变量 =new ListEg:-List Provinces=new List();-Provinces.Add(“湖南省湖南省”);-Provinces.Add(“湖北省湖北省”);-For(int i=0;iProvinces.Count;i+)-Console.Write

12、Line(Provincesi.ToString();类类类的成员和方法类的成员和方法消息消息继承继承多态多态属性属性 属性的声明:属性的声明:属性修饰符属性修饰符 属性的类型属性的类型 属性的名称属性的名称 get; set;属性举例(属性举例(1) class Program private static int i = 1; public int _i get return i; set i = value; static void Main(string args) Console.WriteLine(i); Console.ReadLine(); 属性举例(属性举例(2) Class

13、 TestClass-public int Xget;set;方法:值传递方法:值传递值传递的实质是复制了一份值给形参,而实参值传递的实质是复制了一份值给形参,而实参本身并没有发生改变。本身并没有发生改变。值传递举例值传递举例 class Test public static void swap(int x, int y) int temp; temp = x; x = y; y = temp; 继承继承子类可以继承父类除构造方法等少数方法外的子类可以继承父类除构造方法等少数方法外的大部分属性和方法。大部分属性和方法。点类点类 class Point public int xposeget;s

14、et; public int yposeget;set; public Point() public Point(int _xpose, int _ypose) xpose = _xpose; ypose = _ypose; public virtual void showinfo() Console.WriteLine(点的点的x坐标为:坐标为:+this.xpose); Console.WriteLine(点的点的y坐标为:坐标为: + this.ypose); 圆类圆类 class Cicle:Point public int radio; public Cicle(int _xpose

15、, int _ypose, int _radio) base.xpose = _xpose; base.ypose = _ypose; radio = _radio; public override void showinfo() Console.WriteLine(圆的圆的x坐标为:坐标为: + base.xpose); Console.WriteLine(圆的圆的y坐标为:坐标为: + base.ypose); Console.WriteLine(圆的半径为圆的半径为 :+this.radio); 主程序类主程序类 class Program static void Main(string

16、 args) /创建点类实例创建点类实例 Point p = new Point(10,10); /调用点类的调用点类的showinfo方法方法 p.showinfo(); Console.ReadLine(); Cicle c = new Cicle(10,10,5);/创建圆类实例创建圆类实例 c.showinfo();/调用圆类的调用圆类的showinfo的方法的方法 Console.ReadLine(); windows窗体编程窗体编程windows窗体编程比较简单。窗体编程比较简单。主要有:主要有:-控件的属性控件的属性-控件的事件控件的事件windows窗体编程的主要步骤窗体编程的

17、主要步骤1添加控件添加控件2设置控件的属性设置控件的属性3布局控件布局控件4添加控件的事件添加控件的事件5.举例操作举例操作10.2 C#连接连接SQLSERVER的基本方法的基本方法10.2 C#连接连接SQLSERVER的基本方法的基本方法.netk 常用方法常用方法-ODBC开放式数据库访问接口开放式数据库访问接口-OLE DB数据库访问接口数据库访问接口ODBC开放式数据库访问接口开放式数据库访问接口微软开发的用于连接各种关系型数据库的函数微软开发的用于连接各种关系型数据库的函数库,以动态链接库的形式提供给程序使用,其库,以动态链接库的形式提供给程序使用,其目的是给出统一的编程接口,从

18、而简化数据库目的是给出统一的编程接口,从而简化数据库应用程序的编写。现已很少使用。应用程序的编写。现已很少使用。SQLServer驱动驱动ODBC访访问问接接口口SQLServerSybase驱动驱动SybaseOracle驱动驱动OracleMysql驱动驱动Mysql应应用用程程序序OLE DB数据库访问接口数据库访问接口微软用于替代微软用于替代ODBC的基于的基于COM的方案,其的方案,其目的是给出操作各种数据源的统一编程接口。目的是给出操作各种数据源的统一编程接口。主要由主要由OLE DB 提供者构成,相当于提供者构成,相当于ODBC中的驱动程序。已封装进中的驱动程序。已封装进ADO.net面向面向ODBC的的OLEDB驱动驱动ODBC数据库驱动数据库驱动数数 据据 库库OLEDBADO.net.NET应用程序ADO.NETSQL Server 数据库提供程序OLE DB.NET 数据库提供程序SQL ServerDB2OracleSQLServerOracleOracl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论