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#调试输出SQL和for循环中不符合条件跳出用法 -> 正文阅读

[大数据]C#调试输出SQL和for循环中不符合条件跳出用法

调试中检查SQL语句

使用 System.Diagnostics.Debug.WriteLine(sSQL);

  string sSQL = @"SELECT STEP FROM IMES.M_ROUTE_DETAIL  WHERE ROUTE_NAME='" + baseInfo.RouteName + "' AND STATION_TYPE='" + baseInfo.CurrentStationType + "' AND NEXT_STATION_TYPE='" + baseInfo.StationType + "' AND ROWNUM=1";
            System.Diagnostics.Debug.WriteLine(sSQL);
            dtTemp = utility.Query(sSQL);
            return dtTemp;

输出的内容为

SELECT STEP FROM IMES.M_ROUTE_DETAIL  WHERE ROUTE_NAME='CVTE' AND STATION_TYPE='Repair' AND NEXT_STATION_TYPE='Repair' AND ROWNUM=1

在这里插入图片描述

for循环不符合条件执行下一个不结束循环

关键字:continue

代码

private void btnInput_Click(object sender, EventArgs e)
        {
            //Excel中的变量
            string m_Type = "";
            string m_Ipn = "";
            string m_Cpn = "";
            string m_RellId = "";
            string m_MatDesc = "";
            string m_VendorCode = "";
            string m_VendorName = "";
            string m_LotNo = "";
            string m_DateCode = "";
            string m_SafeNo = "";
            string m_ExpDate = "";
            string m_Qty = "";
            string m_Uom = "";
            string sqlstr = "";
         
            if (dgvData.Rows.Count == 0)
            {
                MessageBox.Show("请先导入数据后再进行保存数据!!!");
                return;
            }
            DataRow[] dataRows = m_dtTable.Select("IPN is not null ");

            int iClomnsCount = m_dtTable.Columns.Count;
          
            for (int j = 0; j < dataRows.Length; j++)
            {
                m_Type = dataRows[j][0].ToString();
                m_RellId = dataRows[j][1].ToString();
                m_Cpn = dataRows[j][2].ToString();
                m_MatDesc = dataRows[j][3].ToString();
                m_VendorCode = dataRows[j][4].ToString();
                m_VendorName = dataRows[j][5].ToString();
                m_LotNo = dataRows[j][6].ToString();
                m_DateCode = dataRows[j][7].ToString();
                m_SafeNo = dataRows[j][8].ToString();
                m_ExpDate = dataRows[j][9].ToString();
                m_Qty = dataRows[j][10].ToString();
                m_Uom = dataRows[j][11].ToString();

                //查询RellID号码是否存在
                sqlstr = "select * from IMES.P_GLUE_STATUS  where SERIAL_NUMBER=:m_RellId ";
                object[] sqlparams = new object[] { m_RellId };
                DataTable dataTable = utility.Query(sqlstr, sqlparams);
                if (dataTable.Rows.Count > 0)
                {
                    MessageBox.Show("RellId:" + m_RellId + "已存在,請确认导入的数据是否正确");
                    dgvData.Rows[j].DefaultCellStyle.BackColor = Color.Red;
                    continue;
                }


                //查询客户料号
                sqlstr = "select * from IMES.M_PART  where CPN=:m_Cpn ";
                sqlparams = new object[] { m_Cpn };
                dataTable = utility.Query(sqlstr, sqlparams);
                if (dataTable.Rows.Count < 1)
                {
                    MessageBox.Show("料号:" + m_Cpn + "不存在,請确认导入的数据是否正确");
                    dgvData.Rows[j].DefaultCellStyle.BackColor = Color.Red;
                    continue;
                }
                else
                {
                    for (int i = 0; i < dataTable.Rows.Count; i++)
                    {
                        m_Ipn = dataTable.Rows[i]["IPN"].ToString();
                    }
                }
                //插入数据到数据库表P_GLUE_STATUS   --m_MatDesc, 

                sqlstr = "insert into IMES.P_GLUE_STATUS (SERIAL_NUMBER,GLUE_TYPE,APN,MAT_VENDOR,MAT_BATCH,DATE_CODE,QTY,CPN,CREATE_EMPNO) values " +
                    "(:m_RellId, :m_Type, :m_Ipn, :m_VendorCode, :m_LotNo, :m_DateCode, :m_Qty, :m_Cpn,:CREATE_EMPNO)";
                sqlparams = new object[] { m_RellId, m_Type, m_Ipn , m_VendorCode , m_LotNo, m_DateCode, m_Qty, m_Cpn, utility.GlobalUserNo };
                //System.Diagnostics.Debug.WriteLine(sqlstr);
                long result = utility.ExecuteSql(sqlstr, sqlparams);
                //改变颜色
                dgvData.Rows[j].DefaultCellStyle.BackColor = Color.Green;
            
            }
            MessageBox.Show("資料已上传完成!");
        }

跳出循环的几个用法

  1. return 终止程序
  2. C# break 语句
    当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
    它可用于终止 switch 语句中的一个 case。
  3. continue
    C# 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。
    对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do…while 循环,continue 语句会导致程序控制回到条件测试上。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:34:18  更:2022-03-08 22:36:15 
 
开发: 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 9:08:20-

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