使用C#开发数据库应用程序

更新时间:2023-12-25 06:07:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

使用C#开发数据库应用程序

1. 概述

.NET 是微软公司推出的平台开发环境;

C#(C Sharp)是一种强大的、面向对象的程序开发语言,是专为 .NET 开发而设计出的语言;

Visual Studio :一套完整的开发工具集;用于开发桌面应用程序、ASP.NET Web 应用程序、XML、Web Service、移动应用程序; VS 创建 C# 应用程序的步骤:

新建项目(project)----生成可执行文件(build)---调试(debug)

2. C#语法

a) C# 的 Main 方法(四种)

static void Main ( string[ ] args ) { } static int Main ( string[ ] args ) { } static void Main ( ) { } static int Main ( ) { }

b) 常用基本数据类型:

string bool int float

c) 变量命名规则:

组成:52个字母(A-Z, a-z),10个数字(0-9),下划线(_) 开头:字母或下划线; 不能是关键字

d) 注释:

// 单行注释 /*…*/ 段落注释 /// 文档注释

e) 控制台类Console:

向控制台输出:

Console.WriteLine(); // 相当于换行

Console.WriteLine(\要输出的值\ // 输出一个值 Console.WriteLine(\字符串+格式符\变量列表); Console.WriteLine(\姓名:{0}\从控制台输入: string name = Console.ReadLine( ); //读取字符串 int age = int.Parse(Console.ReadLine( )); //读取整数

f) 条件语句 :

If 语句:与java语法相同

switch 语句:如果case中有语句,则必须加break;判断表达式类型为整型或字符串

g) 循环语句 : 循环语句 do…while while for foreach Java C# do //二者的语法和操作相同! { … } while(条件) while(条件) { … } //二者的语法和操作相同! for(初始值; 条件; 增/减) { … } //二者的语法和操作相同! 无 新特性! foreach (元素类型 变量名 in 集合或者数组名) {

// 语句 }

break; //退出本层循环

continue; //结束本次循环,进入下次循环

h) 数组 :

声明数组的方法 int[ ] arr1; //数据类型[ ] 数组名; int arr1[ ]; //数据类型 数组名[ ]; Java √ √ C# √ ╳

数组大小和初始化:

int[ ] array = new int[5];

int[ ] arr = new int[5]{0,1,2,3,4}; //注意:数组长度和初值数目要相等 int[ ] arr = new int[ ]{0,1,2,3,4}; int[ ] arr = {0,1,2,3,4}; arr.Length //数组长度属性

i) 冒泡排序 :

for (i = 0; i < N-1 ; i++){

for (j = 0; j < N-1-i ; j++) {

// 比较 j 和 j+1 位置的元素 // 如果前大后小就交换 } }

3. C# 中的命名空间的定义和引用

//命名空间的引用 using System;

using System.Collections.Generic; using System.Text;

namespace HelloACCP //命名空间的定义 {

class Program {

static void Main(string[ ] args) {

//… } } }

//如果不引用命名空间,则在适用时要用完全限定名

4. 定义方法

访问修饰符 返回类型 方法名 ( 参数列表 ) {

// 方法的主体… }

访问修饰符: public、private 返回类型: int、double、string、void、…

按值传递:与java相同,调用方法后,不能保留参数的修改 按引用传递:调用方法后,参数值的更改仍然保留 定义和调用 在参数前使用ref 在调用方法前 何时使用 作为参数的变量声明并赋值 希望保留参数的更改

5. String类的常用方法

a) Equals() : 比较两个字符串的值是否相等 b) Join(): 连接字符串

c) Split(): 分割字符串

d) IndexOf(): 查找某个字符在字符串中的位置

e) SubString():从字符串中截取子字符串,其中第二个参数的意义是指个数 f) ToLower():将字符串转换成小写形式 g) Trim(): 去掉字符串两边的空格 h) Format(): 格式化字符串

6. 数据类型转换

a) 简单类型转换

隐式转换:自动类型转换

规则:对于数值类型,A的取值范围完全包含在B内 显示转换:规则:对于数值类型,与隐式转换相反 int a = (int) 8.9;

b) 字符串和数值型的互相转换

字符串—〉数值型:int.Parse(表达式)

float.Parse(表达式) double.Parse(表达式)

数值型—〉字符串:表达式.ToString()

c) Convert转换函数

Convert.ToXxx(object value)

7. 窗体

a) 属性:

Name :窗体对象的名字,类似于变量的名字 BackColor :窗体的背景色

ShowInTaskBar :设置窗体是否出现在任务栏 StartPosition :窗体第一次出现时的位置 Text :窗体标题栏显示的文字

WindowState :窗体出现时最初的状态(正常、最大化、最小化) MaximizeBox:是否有最大化按钮 IsMdiContainer:是否为mdi父窗体

b) 事件:

Load :窗体加载事件

MouseClick :鼠标单击事件

MouseDoubleClick :鼠标双击事件 MouseMove :鼠标移动事件 KeyDown :键盘按下事件 KeyUp :键盘释放事件

c) 代码:

显示窗体: FormSearch fm = new FormSearch (); fm.MdiParent = this; //设父窗体

fm.Show(); //打开窗体 fm.ShowDialog(); //打开模式窗体

8. 常用控件

见教材

9. 连接数据库

a) 命名空间:

using System.Data.Sqlclient; b) 连接字符串:

string strCon = “Data Source=数据库服务器名; initial catalog=数据库名;trusted_connection=true” c) 连接对象:

SqlConnection conn = new SqlConnection(strCon); d) 打开/关闭连接

conn.Open(); conn.Close();

10. 命令对象Command

执行命令并从数据源中返回结果。 属性 Connection CommandText 方法 ExecuteNonQuery ExecuteReader ExecuteScalar

说明 Command对象使用的数据库连接 执行的SQL语句 说明 执行不返回行的语句,如UPDATE / INSERT / DELETE等 返回DataReader对象(多行多列) 返回单个值,如执行COUNT(*)

举例1: // 查询 Student 表使用的 SQL 语句

string sql = string.Format(

\ AND LogInPwd='{1}'\// 使用的 Command 对象

SqlCommand command = new SqlCommand(sql, DBHelper.conn); DBHelper.connection.Open(); // 执行查询,返回找到的个数

count = (int)command.ExecuteScalar();

11.

举例2:

string sql = \’female’\

SqlCommand command = new SqlCommand(sql, DBHelper.conn); DBHelper.connection.Open();

count = command.ExecuteNonQuery(); //返回更新的记录数

DataReader对象 属性 HasRows 方法 Read Close 说明 是否返回了结果 说明 前进到下一行记录 关闭 DataReader 对象 举例:

string sql = \ WHERE StudentName LIKE '李%'\

SqlCommand command = new SqlCommand(sql, connection); connection.Open();

SqlDataReader dataReader = command.ExecuteReader(); while (dataReader.Read()){

Console.WriteLine((string)dataReader[\}

dataReader.Close();

12. DataSet 对象

简单理解为一个临时数据库,将数据源的数据保存在内存中,独立于任何数据库。

13. DataAdapter 对象

通过DataAdapter 对象将数据库数据填充到DataSet,将修改后的数据提交到数据库。 属性 SelectCommand 方法 Fill Update 举例1:

说明 从数据库检索数据的 Command 对象 说明 向 DataSet 中的表填充数据 将 DataSet 中的数据提交到数据库 //查询字符串

string str = “select * from student”; //创建 SqlDataAdapter 对象

SqlDataAdapter adapter = new SqlDataAdapter(str, DBHelper.connection); //创建 DataSet

DataSet dataSet = new DataSet(); //填充 DataSet

adapter .Fill(dataSet , \//绑定到DataGridView

dvgStudent.DataSource = dataSet.Tables[“student”];

举例2:

//SqlCommandBuilder 对象:自动生成:INSERT、UPDATE、DELETE 命令;

SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(dataSet,\

14. DataGridView 控件 属性 说明 Columns DataSource ReadOnly DataPropertyName HeaderText Visible Frozen ReadOnly 包含的列的集合 DataGridView 的数据源 是否可以编辑单元格 绑定的数据列的名称 列标题文本 指定列是否可见 指定水平滚动DataGridView时列是否移动 指定单元格是否为只读 15. ListView控件

// 创建一个ListView项

ListViewItem item = new ListViewItem(loginId); // 将ID放在Tag中

item.Tag = (int)dataReader[\ // 向当前项中添加子项 item.SubItems.AddRange(

new string[ ] { studentName, studentNO, userState }); //上语句可用下替换

item.SubItems.Add(studentName); item.SubItems.Add(studentNO); item.SubItems.Add(userState);

// 向ListView中添加一个新项 lvStudent.Items.Add(lviStudent);

属性 Columns SelectedItems View 方法 Clear() 16. 说明 “详细信息”视图中显示的列 选中的项的集合 指定显示五种视图中的哪一种视图 说明 移除ListView中的所有项 ADO.NET小结

ExecuteNonQuery() 应用程序 ExecuteScalar() Read() DataSet 内存 ExecuteReader() Command 对象 Fill() Update() . DataReader 对象 DataAdapter 对象 Connection 对象 NET 数据提供程序 数 据 库

本文来源:https://www.bwwdw.com/article/wmyx.html

Top