C# winform应用

news2024/9/27 21:19:51

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.coloradmin.cn/o/1379698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode:530. 二叉搜索树的最小绝对差 | 二叉搜索树】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【java八股文】之Redis基础篇

1、Redis有哪几种基本的数据类型 字符串类型:用于存储文章的访问量Hash:用来存储key-value的数据结构,当单个元素比较小和元素数量比较少的时候 ,底层是用ziplist存储。通常可以用来存储一些对象之类的List: 底层采用的quicklist …

yapi无法注册解决,使用yapi pro即可注册,接口文档生成,java,json

1.气屎我了,直接用yapi pro就可以用,害的我弄了半天 2.地址:https://yapi.pro/login 3.yapi pro比较卡顿。开启无痕模式轻松解决该问题(手动狗头)祝你开启新大陆 yapi pro yapi

第八讲 单片机驱动彩色液晶屏 控制RA8889软件:显示图片

单片机驱动TFT彩色液晶屏系列讲座 目录 第一讲 单片机最小系统STM32F103C6T6通过RA8889驱动彩色液晶屏播放视频 第二讲 单片机最小系统STM32F103C6T6控制RA8889驱动彩色液晶屏硬件框架 第三讲 单片机驱动彩色液晶屏 控制RA8889软件:如何初始化 第四讲 单片机驱动彩色液晶屏 控…

卡尔曼滤波:理论与代码

卡尔曼滤波:理论与代码 引言 卡尔曼滤波是一种用于估计系统状态的优化技术,特别适用于含有噪声的测量数据和系统动态变化的情况。本文将简单探讨卡尔曼滤波的理论基础、数学公式的推导,并通过Python代码示例演示其在实际应用中的效果。 一…

20_GC垃圾回收机制

文章目录 GC如何确定垃圾如何回收垃圾回收垃圾的时机 GC 如何确定垃圾 引用计数算法 给对象添加一个引用计数器,每当一个地方引用它时,计数器加1,每当引用失效时,计数器减少1,当计数器的数值为0时,也就是对…

python,序列的切片

序列的切片就是指从一个序列中取出子序列 语法: 序列[起始下标:结束下标:步长] 步长为1表示一个一个的取元素,步长为2表示每次跳过一个元素的取元素,步长为负数表示反向切片,取元素时取到结束下标&#…

Python如何免费调用微软Bing翻译API

一、引言 现在免费的机器翻译越来越少了,随着有道翻译开始收费,百度降低用户的免费机器翻译额度(目前只有实名认证过的高级用户才能获得100万字符的免费翻译额度),而亚马逊、腾讯等机器翻译调用相对比较麻烦,需要下载各种插件包&…

智能小程序能做什么?

一. 自定义Tab页 涂鸦提供了丰富的场景化、个性化的 ToC 智能服务,不仅可以快速低成本的自由搭建出更多智能服务,还为你提供了基于小程序技术方案的可自主可控的自定义开发链路,为拓展更多品牌化、个性化、差异化智能服务提供生态基础。 我…

Unity之角色控制器

PS:公司终于给我派任务了,最近几天都没学Unity🤧。 一、角色控制器的实现方式 目前小编知道的角色控制器实现方式有三种: 应用商店的角色控制系统Unity自己的角色控制器通过物理系统去做角色控制器 本篇介绍的是第二种Unity自己的角色控制…

【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】

前言 大家好吖,欢迎来到 YY 滴C复习系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Lin…

vi/vim 编辑器 --基本命令

1 vi/vim编辑器介绍 vi 是visual interface 的简称,是Linux中最经典的文本编辑器 vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大…

js中try...catch捕捉错误

文章目录 一、前言二、场景2.1、setTimeout2.2、Promise 三、最后 一、前言 说到try...catch都觉得非常熟悉了,不就是用来捕捉代码块中的错误嘛,平时也用得比较多的 二、场景 try...catch只能捕捉到同步执行代码块中的错误 2.1、setTimeout try {setT…

淘宝商家实现批量上货API接口调用接入说明(淘宝开放平台免申请接入)

API接入详细步骤: 第一步:在淘宝开放平台中选择接口塡写应用申报递交给我司,确认接口是否都有。 第二步:确认接口都有,需交1000元进行测试,可以测试三天,测试数据符合淘宝开放平台接口参数说明&…

Java常用的加密技术

项目结构: 总体代码: package VirtualUtils; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.io.UnsupportedEncodingException; import java.security.*; import java.security.sp…

WebServer 跑通/运行/测试(详解版)

👂 椿 - 沈以诚 - 单曲 - 网易云音乐 目录 🎂前言 🌼跑通 (1)系统环境 (2)克隆源码 (3)安装和配置 Mysql (4)写 sql 语句 (5&…

文件操作(一)

目录 一.什么是文件 1.程序文件和数据文件 2.文件名 3,文本文件和二进制文件 二.文件的打开和关闭 1.流和标准流 2.文件指针 3.文件的打开与关闭 三.结尾 一.什么是文件 在我们学习文件操作之前我们先了解一下什么是文件?以及文件为什么使用文件…

【Effective Objective - C】—— 熟悉Objective-C

【Effective Objective - C】—— 熟悉Objective-C 熟悉Objective-C1.oc的起源消息和函数的区别运行期组件和内存管理要点: 2.在类的头文件中尽量少引入其他头文件向前声明要点: 3.多使用字面量语法,少用与之等价的方法字符串字面量字面数值字…

小程序基础学习(导航栏组件)

一&#xff0c;创建组件 二&#xff0c;组件传入参数 三&#xff0c;组件接收参数 四&#xff0c;组件渲染参数 五&#xff0c;组件代码 <!--components/daoHangLan/daoHangLan.wxml--> <view class"titles"><block wx:for"{{titles}}"…

第 3 章 Keepalived 双机热备

技能展示&#xff1a; 会构建双机热备系统 会构建 LVSHA 高可用群集 在这个高度信息化的 IT 时代&#xff0c;企业的生产系统、业务运营、销售和支持&#xff0c;以及日常管理等环节越来越依赖于计算机信息和服务&#xff0c;对高可用&#xff08;HA&#xff09;技术的应用需求…