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;
}
}
c# 连接oracle 读取数据的更多相关文章
- 连接oracle读取数据
没怎么用过oracle,而且是在地税内网内部估计是防火墙的原因虚拟机里也连不上oracle,刚开始费了很多周折查找问题,现在又放弃使用直连数据库了,记下来以备后用吧 public class Load ...
- 简谈python从Oracle读取数据生成图形
初次学习python,连接Oracle数据库,导出数据到Excel,再从Excel里面读取数据进行绘图,生成png保存出来. 1.涉及到的python模块(模块安装就不进行解释了): 1 import ...
- python连接oracle导出数据文件
python连接oracle,感觉table_list文件内的表名,来卸载数据文件 主脚本: import os import logging import sys import configpars ...
- 水晶报表连接Oracle做数据报表笔记
首先,新建一个水晶报表的文件,这个时候要给这个报表文件绑定一个oracle数据源, 选择右侧菜单的这个东西,选择“数据库专家”,打开之后是这么一个界面: 选择建立新连接: 这个地方最关键,也是我为什么 ...
- linux shell脚本连接oracle查询数据插入文件和日志文件中
#!/bin/sh sqlplus "用户名/密码@数据库"<<EOF 或者只有一个库的 :sqlplus "用户名/密码"<<EOF ...
- C# Socket TcpClient 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
开始的代码: byte[] data = Encoding.UTF8.GetBytes(sInfo); tcpns.Write(data, 0,1024); 修改 ...
- EF6 连接Oracle 迁移数据错误解决方法
环境:vs2015 + EF6 +ODP 数据库Oracle 11G add-migratioin 正常,但在update-database 时报如下错误: System.Runtime.Serial ...
- python3.4连接和读取oracle数据表
想用python连接Oracle并查询数据表,就写了个Demo.参考了以下网址. Python学习之 cx_Oracle学习记录 一 http://my.oschina.net/bxxfighting ...
- C#连接Oracle数据库查询数据
C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; u ...
随机推荐
- 一个漂亮的DIV搜索条
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- struts2+jsp+jquery+Jcrop实现图片裁剪并上传
<1> 使用html标签上传需要裁剪的大图. <2> 在页面呈现大图,使用Jcrop(Jquery)对大图进行裁剪,并且可以进行预览. <3> 选择好截取部分之后发 ...
- java中执行js代码
要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return ...
- Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制
新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronized JDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择.例如,java.util.concurrent.l ...
- MySQL数据表修复, 如何修复MySQL数据库(MyISAM / InnoDB)
常用的Mysql数据库修复方法有下面3种: 1. mysql原生SQL命令: repair 即执行REPAIR TABLE SQL语句 语法:REPAIR TABLE tablename[,table ...
- BZOJ1613: [Usaco2007 Jan]Running贝茜的晨练计划
1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1138 Solved: 554[ ...
- 如何查看jar包的版本号?
jar包根目录里的META-INF目录下的MANIFEST.MF文件里一般有会记录版本信息,可以到这个文件里查看 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个 ...
- (转载)PHP isset()函数作用
(转载)http://www.cnblogs.com/neve/archive/2011/03/21/1990165.html isset函数是检测变量是否设置. 格式:bool isset ( mi ...
- 字符串(后缀自动机):Ahoi2013 差异
Description Input 一行,一个字符串S Output 一行,一个整数,表示所求值 Sample Input cacao Sample Output 54 HINT 2<=N< ...
- (转)WS2008远程桌面连接时提示:“要登录到此远程计算机,您必须被授予允许通过终端服务登录的权限”的解决办法
原文:http://www.chunfengxiyu.com/ws2008-mstsc-privilege.html WS2008远程桌面连接时提示:“要登录到此远程计算机,您必须被授予允许通过终端服 ...