控制台应用程序+Oracle,简易输入时间段获取时间段内数据

桌面代码如下:

  static void Main(string[] args)
        {
            Console.WriteLine("请输入开始时间");
           string Go= Console.ReadLine();
            Console.WriteLine("请输入结束时间时间");
           string end= Console.ReadLine();
            Console.WriteLine("请稍后。。。。");
            sqlcon sss = new sqlcon();
            string outs = sss.ss(Go, end);
            Console.WriteLine(outs);
          
            Console.ReadKey();
        }

sqlcon.cs

  public  class sqlcon
    {
        private static string connectionString = ConfigurationManager.ConnectionStrings["Oracle"].ToString();
        public string ss(string go,string end)
        {
            long begin = DateTime.Now.Ticks;
            double tim = 0;
            string tex="";
            DateTime gos;
            DateTime ends;
            if (DateTime.TryParse(go, out gos)&& DateTime.TryParse(end, out ends))
            {
                //string sql = "select * from 表 where 时间列 BETWEEN to_date('" + gos.ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS') and to_date('" + ends.ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS')";
               

                string table = Query(sql);
                // tex = DataTableToString(table);
                // tex = table.Rows.Count.ToString()+"行";
                string[] arr = table.Split('{');
               
                tex = arr.Length.ToString() + "行";
            }
            else
            {
                tex = "输入有误,请重新输入";
            }

            long endf = DateTime.Now.Ticks - begin;
            tim = endf / 10000000.0;
            return tex +" 所需时间为"+ tim.ToString() + "s";
        }

        /// <summary>
        /// 执行查询语句,返回json
        /// </summary>
        /// <param name="SQLString">查询语句</param>
        /// <returns>DataSet</returns>
        public static string Query(string SQLString)
        {
           List<DQOracle>  dqo = new List<DQOracle>();
            string jsonString = string.Empty;
            using (OracleConnection connection = new OracleConnection(connectionString))
            {
              
               
                try
                {
                    
                    OracleCommand command = new OracleCommand(SQLString, connection);
                    connection.Open();
                    using (OracleDataReader reader = command.ExecuteReader())
                    {
                        DQOracle ssq = new DQOracle();
                        // Always call Read before accessing data.
                        while (reader.Read())
                        {
                           
                            ssq.ID = reader["ID"].ToString();
                            ssq.parsetime = reader["parsetime1"].ToString();
                            ssq.stationcode = reader["stationcode1"].ToString();
                            ssq.happentime = reader["happentime1"].ToString();
                            ssq.datasource = reader["datasource1"].ToString();
                            ssq.addtime = reader["addtime1"].ToString();
                            dqo.Add(ssq);
                        }
                        reader.Close();
                    }
               
                   
                }
                catch (Exception )
                {
                    //throw ex;
                }
               jsonString = JsonConvert.SerializeObject(dqo);
                return jsonString;
            }
        }
      
    }
    /// <summary>
    /// 接收类
    /// </summary>
    public class DQOracle
    {
        public string ID { get; set; }
        public string datasource1 { get; set; }
        public string stationcode1 { get; set; }
        public string happentime1 { get; set; }
        public string parsetime1 { get; set; }
        public string addtime1 { get; set; }
    }

在 APP.config 里面记得添加<connectionStrings>
    
    <add name="Oracle" connectionString="Data Source=(DESCRIption=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址)(PORT=端口号))(CONNECT_DATA=(SERVICE_NAME=客户端数据库名称)));Persist Security Info=True;user id = 登录名; password = 登录密码" />


  </connectionStrings>


记得添加NuGet包(oracle.ManagedDataAccess)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值