C# winform应用

C# winform应用

需求:导入Excel文件时需要执行其他操作,实现如果取消导入就不执行其他操作

C#代码实现
private bool DLimport0(string tablename, string datebasename, string buttonname)
        {
            string xxx = "";
            string Tag = "";
            string connString = "server=192.168.1.110;uid=sa;pwd=xyz@0123456...;database=" + datebasename;
            System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
            fd.Multiselect = true;
            if (fd.ShowDialog() == DialogResult.OK)
            {
                foreach (string file in fd.FileNames)
                {
                    xxx += file + "\n";
                }
                DialogResult dr = MessageBox.Show("是否将以下文件导入到【" + buttonname + "】\n" + xxx, "导入文件确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (dr == DialogResult.OK)
                {
                    //label1.Visible = true;
                    richTextBox1.Text = null;
                    richTextBox2.Text = null;
                    DL(connString, tablename);

                    foreach (string file in fd.FileNames)
                    {
                        richTextBox2.AppendText(DateTime.Now.ToString("HH:mm:ss  ") + System.IO.Path.GetFileName(file) + "数据读取中...\n");
                        Tag = TransferData(file, tablename, connString);
                        richTextBox2.AppendText("--------------------\n");
                        richTextBox1.ScrollToCaret();
                        richTextBox2.ScrollToCaret();
                    }

                    if (Tag == "TAG") { MessageBox.Show("导入完成!"); }
                    else MessageBox.Show("导入失败!");

                    return true; // 返回true表示文件导入成功
                }
            }

            return false; // 返回false表示用户取消了文件选择
        }

        private bool NODLimport0(string tablename, string datebasename, string buttonname)
        {
            bool fileImported = false; // 声明一个用于判断文件是否导入成功的变量
            string xxx = "";
            string Tag = "";
            string connString = "server=192.168.1.110;uid=sa;pwd=xyz@0123456...;database=" + datebasename;
            System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
            fd.Multiselect = true;

            DialogResult fdResult = fd.ShowDialog();

            if (fdResult == DialogResult.OK)
            {
                foreach (string file in fd.FileNames)
                {
                    xxx += file + "\n";
                }

                DialogResult dr = MessageBox.Show("是否将以下文件导入到【" + buttonname + "】\n" + xxx, "导入文件确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                if (dr == DialogResult.OK)
                {
                    richTextBox1.Text = null;
                    richTextBox2.Text = null;

                    foreach (string file in fd.FileNames)
                    {
                        richTextBox2.AppendText(DateTime.Now.ToString("HH:mm:ss  ") + System.IO.Path.GetFileName(file) + "数据读取中...\n");
                        Tag = TransferData(file, tablename, connString);
                        richTextBox2.AppendText("--------------------\n");
                        richTextBox1.ScrollToCaret();
                        richTextBox2.ScrollToCaret();
                    }

                    if (Tag == "TAG")
                    {
                        MessageBox.Show("导入完成!");
                        fileImported = true; // 设置文件导入成功的标志变量为true
                    }
                    else
                    {
                        MessageBox.Show("导入失败!");
                        fileImported = false; // 设置文件导入成功的标志变量为false
                    }
                }
            }

            return fileImported; // 返回文件导入成功的标志变量
        }
		public void noQuery(string sql)
        {
            //server=127.0.0.1;
            string connString = "server=192.168.1.110;uid=sa;pwd=xyz@0123456...;database=RB";
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            cmd.CommandTimeout = 1000;
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }

        //测试按钮清空数据 DLimport0 NODLimport0
        private void button60_Click(object sender, EventArgs e)
        {
            DLimport0("cs", "RB", "派发清空导入" + button60.Text);
            //NODLimport0("cs", "RB", "派发增量导入" + button60.Text);
            /*if (NODLimport0("cs", "RB", "派发增量导入" + button60.Text))
            {
                noQuery("update cs set 未完成大类='其他' WHERE 未完成大类 LIKE '%其他原因%'");
                noQuery("update cs set 定单状态='缓装' WHERE 定单状态 LIKE '%已缓装%'");
                noQuery("update cs set 定单状态='待装' WHERE 定单状态 LIKE '%已待装%'");
            }*/
        }
效果图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/313345.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

fopen函数

目录 fopen函数 fopen函数 C 库函数 fopen 使用给定的模式 mode 打开 filename 所指向的文件。 FILE *fopen(const char *filename, const char *mode)filename — 字符串,表示要打开的文件名称。mode — 字符串,表示文件的访问模式,该指针…

数据库系统概念 第七版 中文答案 第3章 SQL介绍

3.1 将以下查询使用SQL语言编写,使用大学数据库模式。 (我们建议您实际在数据库上运行这些查询,使用我们在书籍网站db-book.com上提供的示例数据。有关设置数据库和加载示例数据的说明,请参阅上述网站。) a. 查找计算机…

Spring系列学习九、Spring MVC的使用

Spring MVC的使用 一、MVC设计模式概述二、Spring MVC的工作原理三、HandlerMapping和ViewResolver四、 处理表单、文件上传和异常处理五、前端页面(View)编写1. 引入Thymeleaf模板引擎2.页面相关的示例代码3.后端处理代码编写 六、总结 本章我们将与大家…

客户端请求服务器的步骤

当我们在浏览器地址栏输入’http://www.xxx.com/api/xxx"时,客户端是如何找到服务器并发送请求的? 1.先找到服务器 a.检测浏览器缓存有没有缓存该域名对应的IP地址,有则通过IP地址取找服务器。 b.检测本地的hosts文件,是否有…

写点东西《2024 年决心:更加以开源为中心》

写点东西《2024 年决心:更加以开源为中心》 简而言之1- 使用 Taipy 代替 Tableau 2- 使用 Cal.com 代替 Calendly 3- Plausible 代替 Google Analytics4- AppFlowy 代替 Notion5- Penpot 代替 Figma 6- Fonoster 代替 Twilio 7- NextCloud 替代 Dropbox 8- Jitsi 替…

羊驼2:开放的基础和微调聊天模型--Llama 2论文阅读

论文地址:https://arxiv.org/pdf/2307.09288.pdfd 代码地址:GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model 问答 用了多少个gpu? 这篇文档中使用了3.3M GPU小时的计算,使用的硬件类型是A…

解决elementUI或elementPlus的按钮点击后需要失去焦点才能恢复原本样式问题

废话不多说直接上代码,只需要在button中添加如下代码即可 focus"(e) > e.target.blur()"

无重复字符的最长字串

题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解…

虚拟政务大厅有什么好处,搭建虚拟政务大厅需要考虑哪些因素

引言: 在数字化时代,互联网技术推动了各行业发展,政务领域也不例外。虚拟政务大厅作为一种数字化解决方案,不仅改善了政务处理的效率和服务质量,还为政务处理带来了许多其他好处。 一、提高政务处理效率 1.虚拟政务大…

查询速度提升15倍!银联商务基于 Apache Doris 的数据平台升级实践

本文导读: 在长期服务广大规模商户的过程中,银联商务已沉淀了庞大、真实、优质的数据资产数据,这些数据不仅是银联商务开启新增长曲线的基础,更是进一步服务好商户的关键支撑。为更好提供数据服务,银联商务实现了从 H…

多模态大模型Clip

一、经典分类模型的问题: 类别固定当前的模型只能胜任一个任务,迁移到新任务上非常困难类别互斥当前的CV数据集标注劳动密集,成本较高,当前模型泛化能力较差 负样本的组成(Batchsize有N个文本-图像对) Batchsize太小,负样本太少…

SQL-DML增删改

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

SpringBoot+thymeleaf实战遇到的问题

目录 一、控制台: 二、数据库查询异常: 三、前后端错误校验 四、在serviceImp中需要添加一个eq条件,表示和数据库中的哪个字段进行比较,否则会查出所有数据,导致500 五、使用流转换数据更简洁 六、重复报错&#…

高周期的伦敦金交易机会转到低周期做 不可以吗?

一般的市场观点认为,交易信号出现在越高的时间周期上就越准确,成功的概率就越高。而低时间周期的信号,要推动高时间周期行情的发展,那几乎是不可能。因此多数人认为从高周期转到低周期,然后去捕捉高周期行情机会&#…

微信小程序开发学习笔记《10》页面导航

微信小程序开发学习笔记《10》页面导航 博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。导航 官方文档 一、介绍 1. 什么是页面导航 页面导航指的是页面之间的相互跳转。例如,浏览器中实现页面导航的方式有如下两种: …

两周掌握Vue3(四):计算属性、监听属性、事件处理

文章目录 一、计算属性1.什么是计算属性2.代码示例 二、监听属性三、事件处理 代码仓库:跳转 当前分支:04 一、计算属性 1.什么是计算属性 Vue 中的计算属性具有以下作用: 数据处理:计算属性可以用于对数据进行处理和计算&…

【开源】类似创客贴图片编辑器的项目及前端组件

yft-design: 基于fabric.js的图片设计,使用 Vue3 TypeScript fabric.js pinia element-plus pwa,支持 文字、图片、形状、线条、二维码 、条形码几种最常用的元素类型,每一种元素都拥有高度可编辑能力,缩略图显示,…

《2024 年 Web3.0 数字资产趋势报告》(三)

撰文:方军、周芳鸽、李祺虹、张睿彬,Uweb 编辑:Nona,Techub News 点击关注公众号获取完整报告 接下来我们将继续和大家分享《2024 年 Web3.0 数字资产趋势报告》中其余部分。

计算机网络面试八股复习:常见的Http状态码

前言 面试被问到过一次。自己最近使用Gin框架,在Response的时候有时候也会用到一个自定义的状态码。因此归纳一下这方面,供自己日后面试复习以及开发时候参考。 HTTP 全名“超文本传输协议”(我也不懂为什么面试官问这个…) 属…

【Linux】常见指令解析下

目录 前言1. cp指令(重要)2. mv指令 (重要)3. cat指令4. more指令5. less指令 (重要)6. head指令7. tail指令8. 时间相关的指令8.1 data显示8.2 时间戳 9. cal指令10. find指令(非常重要&#x…