• c# 连接oracle 读取数据


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OracleClient;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace PDM {
        public partial class BaseInfo : Form {
            public BaseInfo() {
                InitializeComponent();
                this.tbxFilePath.Text = "d:/TestPicture/ln/";
                this.hash.Text = "d:/TestPicture/ln/";
                this.server.Text = "PDMFiles/FMSC/";
            }
            List<SpareBaseInfo> SpareBaseInfos = null;
            List<SpareBaseInfo> SpareBaseInfoDataBases = null;
            List<SpareBaseInfo> SpareBaseInfoisexist= null;
     
            StreamWriter sw = File.AppendText(Environment.CurrentDirectory + "\SpareBaseInfoFile.txt");
          
            private void UpdateDataBase_Click(object sender, EventArgs e) {
                try {
                    var updatesql = new StringBuilder();
                    SpareBaseInfos = new List<SpareBaseInfo>();
                    SpareBaseInfoDataBases = new List<SpareBaseInfo>();
                    SpareBaseInfoisexist = new List<SpareBaseInfo>();
                    foreach(var item in Directory.GetFiles(this.tbxFilePath.Text)) {
                        var extenname = Path.GetFileName(item);
                        var name = Path.GetFileNameWithoutExtension(item);
                        if(name.Contains("#")) {
                            string[] codename = name.Split('#');
                            SpareBaseInfo sbi = new SpareBaseInfo();
                            sbi.Code = codename[0].ToString();
                            sbi.Name = codename[1].ToString();
                            sbi.FilePath = this.server.Text + extenname;
                            if(!SpareBaseInfos.Contains(sbi)) {
                                SpareBaseInfos.Add(sbi);
                            }
                            updatesql.AppendLine("update SpareBaseInfo set FilePaths='" + server.Text + extenname + "'" + "where code='" + sbi.Code + "' and name= '" + sbi.Name + "';");
                            if(!File.Exists(this.hash.Text + extenname.GetHashCode())) {
                                Directory.CreateDirectory(this.hash.Text + Math.Abs(extenname.GetHashCode()) % 1000);
                            }
                            File.Copy(item, this.hash.Text + Math.Abs(extenname.GetHashCode()) % 1000 + "/" + extenname);
                        }
                    } 
                    sw.Write(updatesql.ToString());
                    MessageBox.Show("成功");
                    sw.Close();
     
                } catch(Exception ex) {
                    
                    throw ex;
                }
     
     
     
     
                string sql = "select * from SpareBaseInfo where code in (";
                var Codes = SpareBaseInfos.Select(l => l.Code);
                foreach(var item in Codes) {
                    sql += "'" + item + "',";
                }
                if(!string.IsNullOrEmpty(sql)) {
                    sql = sql.Remove(sql.Length - 1);
                }
                sql += ")";
     
                sql += "and name in(";
                var Names = SpareBaseInfos.Select(l => l.Name);
                foreach(var item in Names) {
                    sql += "'" + item + "',";
                }
                if(!string.IsNullOrEmpty(sql)) {
                    sql = sql.Remove(sql.Length - 1);
                }
                sql += ")";
                string conn = "user id=mfepc;data source=" + server.Text + ";password=mfepc";
                OracleConnection cn = new OracleConnection(conn);
                cn.Open();//要打开连接   
                string strcmd = sql;
                OracleCommand cmd = new OracleCommand(strcmd, cn);
                OracleDataReader reader = cmd.ExecuteReader();
                try {
                    while(reader.Read()) {
                        var a = reader[0].ToString();
                        SpareBaseInfo sbi = new SpareBaseInfo();
                        sbi.Id = Convert.ToInt32(reader["Id"].ToString());
                        sbi.Code = reader["Code"].ToString();
                        sbi.Name = reader["Name"].ToString();
                        if(!SpareBaseInfoDataBases.Contains(sbi)) {
                            SpareBaseInfoDataBases.Add(sbi);
                        }
                    }
                    dataGridView1.DataSource = SpareBaseInfoDataBases;
                } finally {
                    reader.Close();
                }
                var updatesql = new StringBuilder();
                try {
                    if(MessageBox.Show(SpareBaseInfoDataBases.Count() + "条数据是否继续", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) {
                        updatesql.AppendLine("begin");
                        foreach(var item in SpareBaseInfoDataBases) {
                            item.FilePath = SpareBaseInfos.FirstOrDefault(l => l.Name == item.Name && l.Code == item.Code).FilePath;
                            updatesql.AppendLine("update SpareBaseInfo set FilePaths='" + item.FilePath + "'" + "where code='" + item.Code + "' and name= '" + item.Name + "';");
                        }
                        updatesql.AppendLine("end;");
                        //OracleCommand cmdupdate = new OracleCommand(updatesql.ToString(), cn);
                        //cmdupdate.ExecuteNonQuery();
                        MessageBox.Show("成功");
                    }
     
                } catch(Exception ecp) {
                    throw ecp;
                }
     
                cn.Close();
            }
        }
     
        public class SpareBaseInfo {
     
            private int id;
     
            public int Id {
                get {
                    return id;
                }
                set {
                    id = value;
                }
            }
     
     
            private string code;
     
            public string Code {
                get {
                    return code;
                }
                set {
                    code = value;
                }
            }
     
            private string name;
     
            public string Name {
                get {
                    return name;
                }
                set {
                    name = value;
                }
            }
     
            private string filePath;
     
            public string FilePath {
                get {
                    return filePath;
                }
                set {
                    filePath = value;
                }
            }
            //通过DataSet来读取数据:
     
            //创建和数据库的连接192.168.17.42/epcv2
            //OracleConnection oraCon = new OracleConnection("user id=mfepc0521;data source=192.168.17.42/mfdmstest;password=mfepc0521");
            //OracleConnection oraCon = new OracleConnection("user id=mfepc;data source=192.168.17.42/epcv2;password=mfepc");
            //OracleDataAdapter oraDap = new OracleDataAdapter("select * from SpareBaseInfo where rownum<10", oraCon);
            //DataSet ds = new DataSet();
            //oraDap.Fill(ds);
            //DataTable _table = ds.Tables[0];
            //int count = _table.Rows.Count;
            //dataGridView1.DataSource = _table;
        }
    }
    
  • 相关阅读:
    ASP.NET学习笔记之VS操作使用技巧
    无线干扰的防止和消减要领总结
    小米蝈蝈 vs 巍
    struts2学习笔记一struts2标签学习
    魏飞
    Hibernate+Mysql在向数据库中保存 / 更新数据时设置编码格式
    程序员爱情 猿女友们,很幸福吗???
    人生
    外链?存储?这个好不好用,fileupyours,fileden,skydrive
    实现网页中增加刷新按钮、链接的方法 搜集
  • 原文地址:https://www.cnblogs.com/naliang/p/oracle.html
Copyright © 2020-2023  润新知