IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【C#Winform开发的一些代码复用】 -> 正文阅读

[大数据]【C#Winform开发的一些代码复用】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

微软的.NET框架下的Winform开发,相较于Java的Swing框架,整体上上手对于新手来说更容易些,且微软的一些集成对于新手来更友好,在此基础上开发Windows下的桌面应用程序也比较容易。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Winform是什么?

Winform是微软VS.NET下带的一个框架,主要使用C#语言进行开发,项目创建非常简单,当然也都是VS集成的好

在这里插入图片描述
这里选择.NET framework版本,没有Winform版本的会有不小的区别,如果初始安装没有这个.NET framework项目的话,说明没有添加到VS里面,在初始界面(installer)可以添加

具体是哪个我也记不清了,可以添加试试看,在是一篇博客看到的,目前找不到了,下次有机会再实验实验

在这里插入图片描述在这里插入图片描述
推荐项目放在一个固定目录下,方便后续进行查找
在这里插入图片描述

创建了之后,会有工具箱,解决方案,属性窗口之类的选项卡
在这里插入图片描述

初始布局是这样的,可以调整大小,工具箱通过点击小指针(那个向下的箭头)来固定
在这里插入图片描述

要是不喜欢或者找不到了,可以直接点击重置选项卡布局,都比较简单
在这里插入图片描述

VS自带了一些比较常用的组件,一般用于搭建界面是比较好用的,可以自己体验体验;这里推荐明日科技的这个《C#从入门到精通(第4版)》,这本书对于Win form的介绍还是蛮详细的,很好的一本书,我也是看这个学会了许多;当然,本站需要一些条件才能查看,推荐去”鸠摩搜书“去看看,可以下载,现在好像都找不到了,可以去网上找找资源

这里给出第三版的,其实大致都一样,基本内容没啥问题的,章节也一致,这本的清晰度还不错
链接:https://pan.baidu.com/s/18m5L6mppAA-fa-Igeu4ZMw
提取码:0925

在这里插入图片描述

这个菜单组件用的还是很多的,可以简单了解了解,方便搭建界面
在这里插入图片描述

这个数据DataGridview和Chart数据控件用得很多,容器可以更方便的进行布局
在这里插入图片描述

二、这里给出一些开发用到的知识

1、数据库备份与导入:

导入的路径需要再尝试
    backup database University_manage To disk= 'd:\one.bak'

    RESTORE  DATABASE University_manage FROM DISK='D:\one.bak' WITH  NORECOVERY

    为了让导入之后数据库能用:restore database University_manage with recovery

2、数据库备份与导入语句:

public static readonly SqlConnection conn_restore = new SqlConnection
        {
            ConnectionString = "Data Source=.;Initial Catalog=master;Integrated Security=True"
        };

        public static bool Judge_is_db_exist(string db_name)
        {
            string sql = "select count(*) from sys.databases where name = '" + db_name + "'";
            SqlCommand command = new SqlCommand(sql, conn_restore);
            conn_restore.Open();
            int n = int.Parse(command.ExecuteScalar().ToString());
            conn_restore.Close();
            if (n > 0)
                return true;
            return false;
        }

        public static string Database_restore()
        {
            string return_msg;
            if (Judge_is_db_exist("University_manage"))
                return_msg = "该数据已存在,请删除后再导入!";
            else if (!File.Exists("D:\\University_manage.bak"))
                return_msg = "在指定路径下未找到对应备份文件,请将文件放在指定路径下!";
            else
            {
                string sql = "RESTORE DATABASE University_manage FROM DISK='D:\\University_manage.bak' WITH  NORECOVERY";
                Execute_sql_command(sql);
                sql = "restore database University_manage with recovery";
                Execute_sql_command(sql);
                return_msg = "数据库导入成功!";
            }
            return return_msg;
        }

        public static string Database_back()
        {
            string return_msg;
            if (File.Exists("D:\\University_manage.bak"))
                return_msg = "数据库备份已存在,请删除后再备份!";
            else if (!Judge_is_db_exist("University_manage"))
                return_msg = "数据库系统中暂未导入该数据库,请先导入后再备份!";
            else
            {
                string sql = "backup database University_manage To disk = 'D:\\University_manage.bak'";
                Execute_sql_command(sql);
                return_msg = "数据库备份成功!";
            }
            return return_msg;
        }

        public static void Execute_sql_command(string sql)
        {
            SqlCommand command = new SqlCommand(sql, conn_restore);
            conn_restore.Open();
            command.ExecuteReader();
            conn_restore.Close();
        }

3、填充DataGridView控件代码:

public static void Select_like_logs(string table_name, string field_name, string search_input, DataGridView dataGridView)
        {
            string sql = "select * from " + table_name + " where " + field_name + " like '%" + search_input + "%'";
            conn.Open();
            SqlDataAdapter sqlData = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            sqlData.Fill(ds);
            dataGridView.DataSource = ds.Tables[0];
            conn.Close();
        }

4、更改网页版表格控件GridView的内容代码:

protected void Button_commodity_name_search_Click(object sender, EventArgs e)
        {
            string commodity_name = TextBox_commodity_search.Text;
            SqlDataSource_commodity.SelectCommand = Sql_operation.Select_like_logs("goods_information", "commodity_name", commodity_name, GridView_commodity);
        }

5、SQL语句编写方式:
测试能否简单通过”+”简单的连接:string sql = “delete from goods_information where commodity_name = '” + commodity_name + “'”;

6、将Panel作为父窗体

public static void Set_parent_panel(Panel panel, Form form)
        {
            supplier_analyse.MdiParent = form;
            supplier_analyse.Parent = panel;
        }

7、画图的chart控件的数据填充

public static readonly List<string> x_value = new List<string>();
        public static readonly List<double> y_value = new List<double>();

        public static void Add_container(string table_name, string field_name)
        {
            x_value.Clear();
            y_value.Clear();
            string sql = "select COUNT(*) as y_number, " + field_name + " from " + table_name + " group by " + field_name + " order by " + field_name;
            SqlCommand command = new SqlCommand(sql, conn);
            conn.Open();
            SqlDataReader Reader = command.ExecuteReader();
            while (Reader.Read())
            {
                x_value.Add(Reader[field_name].ToString());
                y_value.Add(int.Parse(Reader["y_number"].ToString()));
            }
            conn.Close();
        }

        chart_user.Series["Series_user"].Points.DataBindXY(Graphics_draw.x_value, Graphics_draw.y_value);

8、Comobox控件的数据填充

public static void Combobox_add(string table_name, string field_name, ComboBox comboBox)
        {
            bool Is_add = false;
            string sql = "select distinct " + field_name + " from " + table_name + " order by " + field_name;
            SqlCommand command = new SqlCommand(sql, conn);
            conn.Open();
            SqlDataReader Reader = command.ExecuteReader();
            while (Reader.Read())
            {
                comboBox.Items.Add(Reader[field_name].ToString());
                Is_add = true;
            }
            conn.Close();
            if(Is_add)
                comboBox.SelectedIndex = 0;
        }

9、目前对于C#和SQL Server数据库的交互语句来讲,字符串采用’”+str+”’的方式进行插入(即单引号加双引号),但对于传入参数为具体的一个字符串时,直接连接才可,以下为两个例子
string sql = “select supplier_logs_id from goods where commodity_id = '” + commodity_id + “'”;

string sql = "select * from " + table_name;
如若写的不对,则会报错,记住这样的形式,修改bug会较为容易

10、ACCESS数据库连接语句

OleDbConnection oleDb = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\VS工作空间\\Supermarket.accdb");
        string sql = "select * from UserInfor";
        OleDbCommand command = new OleDbCommand(sql, oleDb);
        oleDb.Open();
        OleDbDataReader Reader = command.ExecuteReader();
        while (Reader.Read())
        {
        }
        oleDb.Close();

11、C#Tostring保留两位小数
string number = numericUpDownNumber.Value.ToString(“f2”);


总结

在这里也对这次的文章进行总结,C#入门容易但学会简单的一些小程序,并不应该停在这里,需要学习高级教程,同样需要学习Java,C#和Java很类似,且Java的场景更广,学习Java可能在做一些小项目的时候会比C#复杂一些,一些配置啊,一些交互之类的,但这都是过程,C#也有很多需要学习,不应该停止,这里给出一个小项目的参考,是对上面用到的技术进行一个总结

链接:https://pan.baidu.com/s/1DyAnTUpmNdHu0l64DzUtOQ
提取码:0925

学无止境,继续加油!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:46:53  更:2022-04-07 22:49:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:37:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码