使用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 数据提供程序 数 据 库
正在阅读:
使用C#开发数据库应用程序12-25
市统计局2021年统计工作年度总结暨2022年工作计划08-03
名词解释106-05
2022安徽高考语文数学04-05
数电复习题及答案05-06
2017年度兼职救护队训练计划01-24
2012-2013学年度上学期语文教师及辅导员工作总结01-20
南水北调延期原因11-15
1-4找规律填图行04-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C#
- 应用程序
- 数据库
- 使用
- 开发
- 最新高青购物中心公司实习周记原创
- 潍坊市初中学业水平考试数学试题(无答案)word版
- 2007全国中学生物学联赛试卷
- “请”字用法汉英对比与语用负迁移
- 中二班评语
- 论21世纪民办学校班级管理中的问题、成因及对策的简析班级管理中的问题
- 社团面试常用问题及技巧
- 利率市场化进程中商业银行利率风险管理
- 外国文学史复习笔记
- 公司股东合作分红协议书
- 年工程力学复习题加答案
- 自动化仪表与过程控制
- 监理月报第五期2011年5月份
- 延州人社发〔2011〕19号关于印发延边州城镇职工基本医疗保险门诊医疗费补助办法的通知
- 留守儿童之家建设情况调查问卷7.30
- 安康职业技术学院微生物检验习题(一)
- 房地产营销方式
- 2017春六年级数学下册 3.2《正比例》正比例的意义教案2(新版)西师大版
- 高级财务会计试题及答案
- 绿地规划文本