基于C#开发数据库应用程序的基本应用

基于C#开发数据库应用程序

一、思路

  1.窗体上使用DataGridView控件来实现对数据库表格内容的显示

  2.绑定数据源到DataGridView控件(应用程序连接到数据库)

  3.在应用程序上实现对数据库文件的增、删、改、查

二、界面

  

三、实现过程

 1.绑定数据源到DataGridView控件(应用程序连接到数据库)

 方法引用:

1 private void Form1_Load(object sender, EventArgs e)
2         {
3             //Binding Mode Get DataSource to DataGridView
4             dataGridView1.DataSource = BindingMode_BindingSource("Hyson_Staff", "Table_Staff_Info").Tables[0];
5
6             //dataGridView1.DataSource = NonBindingMode_BindingSource();
7         }

  方法实现:

 1         /// <summary>
 2         /// 绑定模式下获取数据源
 3         /// </summary>
 4         /// <param name="DB_Name">数据库名称</param>
 5         /// <param name="Table_Name">表格名称</param>
 6         /// <returns>返回类型为DataSet</returns>
 7         private DataSet BindingMode_BindingSource(string DB_Name, string Table_Name)
 8         {
 9             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
10             SqlConnection mycon = new SqlConnection(constr);
11             DataSet myds = new DataSet();
12             try
13             {
14                 mycon.Open();
15                 string sql = "select * from " + Table_Name;
16                 SqlDataAdapter myda = new SqlDataAdapter(sql, mycon);
17                 myda.Fill(myds, "Table_Staff_Info");
18             }
19             catch (Exception ex)
20             {
21                 MessageBox.Show(ex.Message);
22             }
23             finally
24             {
25                 mycon.Close();
26             }
27             return myds;
28         }

  2.实现数据库的新增记录

方法引用:

 InsertDB( "Hyson_Staff","Table_Staff_Info",
                        new string[]{"Name","Gender","Department","BrithDay","JoinTime", "LeaveTime","IsWork"},
                        new string[]{   textBox_Name.Text,
                                        textBox_Gender.Text,
                                        textBox_Department.Text,
                                        textBox_BrithDay.Text,
                                        textBox_JoinTime.Text,
                                        textBox_LeaveTime.Text,
                                        checkBox_IsWork.Checked.ToString()});
                    dataGridView1.DataSource = BindingMode_BindingSource("Hyson_Staff", "Table_Staff_Info").Tables[0];

方法实现:

 1      /// <summary>
 2         /// 向数据库中增加数据
 3         /// </summary>
 4         /// <param name="DB_Name">数据库名称</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="Array_Keys">Key数组</param>
 7         /// <param name="Array_Vaules">Value数组</param>
 8         private void InsertDB(string DB_Name, string Table_Name, string[] Array_Keys, string[] Array_Vaules)
 9         {
10             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
11             SqlConnection mycon = new SqlConnection(constr);
12
13             try
14             {
15                 mycon.Open();
16                 string keys = " (";
17                 for (int i = 0; i < Array_Keys.Length; i++)
18                 {
19                     if (i<=Array_Keys.Length-2)
20                     {
21                         keys = keys + "[" + Array_Keys[i].Trim() + "],";
22                     }
23                     else
24                     {
25                         keys = keys + "[" + Array_Keys[i].Trim() + "])";
26                     }
27                 }
28
29                 string values="";
30                 for (int i = 0; i < Array_Vaules.Length; i++)
31                 {
32                     if (i <= Array_Vaules.Length - 2)
33                     {
34                         values = values + "‘" + Array_Vaules[i].Trim() + "‘,";
35                     }
36                     else
37                     {
38                         values = values + "‘" + Array_Vaules[i].Trim() + "‘";
39                     }
40                 }
41
42                 string update_sql = "insert into [" + Table_Name + "] "+keys + "values(" + values + ")";
43                 SqlCommand mycom = new SqlCommand(update_sql, mycon);
44                 mycom.ExecuteNonQuery();
45             }
46             catch (Exception ex)
47             {
48                 MessageBox.Show(ex.Message);
49             }
50             finally
51             {
52                 mycon.Close();
53             }
54         }

3.实现数据库的删除记录

方法引用:

  DeleteDB("Hyson_Staff", "Table_Staff_Info", label_ID.Text);

方法实现:

 1      /// <summary>
 2         /// 实现数据库的删除记录
 3         /// </summary>
 4         /// <param name="DB_Name">数据库名称</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="id">主键(数字主键ID)</param>
 7         private void DeleteDB(string DB_Name, string Table_Name,string id)
 8         {
 9             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
10             SqlConnection mycon = new SqlConnection(constr);
11
12             try
13             {
14                 mycon.Open();
15                 string delete_sql = "delete top(1) from " + Table_Name + " where id=" + id;
16                 SqlCommand mycom = new SqlCommand(delete_sql, mycon);
17                 mycom.ExecuteNonQuery();
18             }
19             catch (Exception ex)
20             {
21                 MessageBox.Show(ex.Message);
22             }
23             finally
24             {
25                 mycon.Close();
26             }
27         }

4.实现数据库的修改记录

方法引用:

1             string ID = (label_ID.Text);
2                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "Name", textBox_Name.Text, ID);
3                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "Gender", textBox_Gender.Text, ID);
4                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "Department", textBox_Department.Text, ID);
5                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "BrithDay", textBox_BrithDay.Text, ID);
6                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "JoinTime", textBox_JoinTime.Text, ID);
7                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "LeaveTime", textBox_LeaveTime.Text, ID);
8                     UpdateDB("Hyson_Staff", "Table_Staff_Info", "IsWork", checkBox_IsWork.Checked.ToString(), ID);

方法实现:

 1         /// <summary>
 2         /// 修改数据库数据
 3         /// </summary>
 4         /// <param name="DB_Name">数据库名称</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="Key">待修改键</param>
 7         /// <param name="NewValue">数值</param>
 8         /// <param name="Update_ID">当前记录的主键</param>
 9         private void UpdateDB(string DB_Name, string Table_Name, string Key, string NewValue, string Update_ID)
10         {
11             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
12             SqlConnection mycon = new SqlConnection(constr);
13
14             try
15             {
16                 mycon.Open();
17                 string update_sql = "update " + Table_Name + " set " + Key + "=‘" + NewValue + "‘ where id=" + Update_ID;
18                 SqlCommand mycom = new SqlCommand(update_sql, mycon);
19                 mycom.ExecuteNonQuery();
20             }
21             catch (Exception ex)
22             {
23                 MessageBox.Show(ex.Message);
24             }
25             finally
26             {
27                 mycon.Close();
28             }
29         }

5.实现数据库的修改记录

方法引用:(将查询到的内容,填充到dataGridView1中)

dataGridView1.DataSource = SelectDB("Hyson_Staff", "Table_Staff_Info", comboBox_SelectKey.Text, comboBox_Relationship.Text,comboBox_SelectValue.Text).Tables[0];

方法实现:

 1      /// <summary>
 2         /// 基于Select..Where..的数据库查询
 3         /// </summary>
 4         /// <param name="DB_Name">数据库名</param>
 5         /// <param name="Table_Name">表名</param>
 6         /// <param name="SelectKey">待查询的键</param>
 7         /// <param name="Relationship">关系(大于,小于,等于)</param>
 8         /// <param name="SelectValue">待查询的值</param>
 9         /// <returns>返回类型DataSet</returns>
10         private DataSet SelectDB(string DB_Name, string Table_Name,string SelectKey,string Relationship,string SelectValue)
11         {
12             string constr = @"Server=DESKTOP-K1D8VOK\HYSON_STOCK_V01;user=sa;pwd=sa;database=" + DB_Name;
13             //string constr = @"Server=192.168.10.123;user=sa;pwd=sa;database=" + DB_Name;
14             SqlConnection mycon = new SqlConnection(constr);
15             DataSet myds = new DataSet();
16
17             try
18             {
19                 mycon.Open();
20                 string sql = "select * from " + Table_Name + " where (" + SelectKey + Relationship+"‘" + SelectValue + "‘)";
21                 SqlDataAdapter myda = new SqlDataAdapter(sql, mycon);
22                 myda.Fill(myds, "Table_Staff_Info");
23             }
24             catch (Exception ex)
25             {
26                 MessageBox.Show(ex.Message);
27             }
28             finally
29             {
30                 mycon.Close();
31             }
32             return myds;
33         }

原文地址:https://www.cnblogs.com/LynnXue/p/12028284.html

时间: 2024-10-10 13:18:57

基于C#开发数据库应用程序的基本应用的相关文章

使用 Equinox 开发 OSGi 应用程序

本教程着重介绍 OSGi 框架知识.环境搭建.服务使用.应用设计.部署. 开始之前 关于本教程 OSGi 是目前动态模块系统的事实上的工业标准,虽然一开始只是作为嵌入式设备和家庭网关的框架来使用,但是实际上它适用于任何需要模块化.面向服务.面向组件的应用程序.而 Equinox 则是的 Eclipse 所使用的 OSGi 框架,是 Eclipse 强大的插件体系的基础,Eclipse 的稳定可靠性也为该框架带来了声誉. 本教程就将演示如何在 Eclipse 环境下利用 Equinox 框架进行

PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的

PostgreSQL 优势 2016-10-20 21:36 686人阅读 评论(0) 收藏 举报  分类: MYSQL数据库(5)  PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),功能很强大.包括了可以说是目前世界上最丰富的数据类型的支持,比如 IP 类型和几何类型等等. 发现很多读者都问过这样一个问题:如果打算为项目选择一款免费.开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定.针对这个问题,我们采访到了即将在Postgres中国用户20

用Visual C#开发基于OpenCV的Windows应用程序

http://blog.163.com/wangxh_jy/blog/static/28233883201001581640283/ 关于详细的配置及程序运行截图,请下载:http://download.csdn.net/source/1127474名为<用Visual C#开发基于OpenCV的Windows应用程序>的文章. 由于百度允许的字数太少了,所以就不贴全部程序了.有需要源程序的话,请下载:http://download.csdn.net/source/1127477 下面是主要的

IDEA基于kotlin开发android程序配置小结

IDEA功能极其强大,和微软的宇宙第一IDE不相上下.用了很长时间,对它配置的完善性产生了近乎迷信的感情.似乎只要走正常渠道,用它来配置,没有不成功的. IDEA是开发android原生程序的利器,android studio即是基于IDEA开发的工具.AndroidStudio能干的,IDEA同样能干的很好.kotlin是jetbrain开发的语言,堪称android上的swift,而且完美兼容java,配合起来相当爽利.但偏偏在kotlin的配置上,栽了个大跟头. 在android里引入ko

C、Shell、Perl基于Tomcat开发CGI程序环境配置

基于Tomcat7.0版本配置CGI开发环境,步聚如下: 以我的Tomcat7安装目录为例:TOMCA_HOME = /Users/yangxin/Documents/devToos/java/apache-tomcat-7.0.39 1.打开TOMCA_HOME/conf/web.xml 将CGI的Serlvet配置与URL映射注释打开 <servlet> <servlet-name>cgi</servlet-name> <servlet-class>or

Dapper.Contrib 开发.net core程序,兼容多种数据库

Dapper.Contrib 开发.net core程序,兼容多种数据库 https://www.cnblogs.com/wuhuacong/p/9952900.html 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学习了Dapper 的相关使用.Dapper.Con

轻装上阵Flink--在IDEA上开发基于Flink的实时数据流程序

前言 本文介绍如何在IDEA上快速开发基于Flink框架的DataStream程序.先直接上手! 环境清单 案例是在win7运行.安装VirtualBox,在VirtualBox上安装Centos操作系统.所有资源都在百度云上,有需要请直接下载.安装教程基本都是傻瓜式,文章不做讲述,有需要直接网上搜索. 资源 版本 VirtualBox 5.2.16 Centos 6.5 Maven 3.6.3 JDK 8u241 IDEA 2019.3.2 Flink 1.10.0 链接:https://pa

java基础--JDK安装、环境变量配置、工具开发第一个程序、数据类型、运算符

**-----Java基础大纲-----**   **-----本章节-----** 1.Java语言的历史.特点及工作原理 2.JRE和JDK的介绍 3.Java运行环境和开发工具 4.Java基础语法 **-----下一章节-----** 5.条件语句 6.循环 7.数组 ============================================== 一:历史及开发准备 1.Java发展历程及来源 (1)发展历程 1996年1月,Sun公司发布了Java的第一个开发工具包(JD

初次运用myeclipse开发服务器应用程序会遇到的一个困惑J2EE

一.J2EE是什么(橘色部分是必须了解的部分,目前项目中用到了) J2EE是建立在Java 2平台上的企业级应用的解决方案.目前,Java 2平台有3个版本: (1)适用于小型设备和智能卡的Java 2平台Micro版(J2ME)Java 2 Platform Micro Edition: (2)适用于桌面系统的Java 2平台标准版(J2SE)Java 2 Platform Standard Edition: (3)适用于创建服务器应用程序和服务的Java 2平台企业版(J2EE)Java 2