📄 ncorehlp.cs
字号:
/*
* EBI-Software all rights reserved.
* webmaster@ebi-software.de
* This code is only for educational use.
*/
using System;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Runtime;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using EBIsagt.Cnv;
namespace EBIsagt.Cnv
{
public class nCoreHlp
{
/// <summary>
///
/// </summary>
/// <param name="DB"></param>
public static void EmptyDB(string DB)
{
///delete Database-------------------------------------------------------
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID", Type.GetType("System.String")));
OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ DB);
OleDbCommand aCommand = new OleDbCommand("select * from DOCS", aConnection);
try
{
aConnection.Open();
OleDbDataReader aReader = aCommand.ExecuteReader();
while(aReader.Read())
{
DataRow dr = dt.NewRow();
dr["ID"] = aReader.GetInt32(0).ToString();
dt.Rows.Add(dr);
}
aReader.Close();
for (int Count=0;Count<dt.Rows.Count;Count++)
{
OleDbCommand bCommand = new OleDbCommand("DELETE FROM DOCS WHERE ID = "+dt.Rows[Count]["ID"].ToString(), aConnection);
OleDbDataReader bReader = bCommand.ExecuteReader();
bReader.Close();
}
//close the connection Its important.
aConnection.Close();
}
//Some usual exception handling
catch(OleDbException e)
{
nCore.ErrorHalt("Fehler beim Datenbank1 leeren.\n"+e.ToString());
}
//////////////////////////////////////////777------
dt = new DataTable();
dt.Columns.Add(new DataColumn("ID", Type.GetType("System.String")));
aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ DB);
aCommand = new OleDbCommand("select * from DOCS2", aConnection);
try
{
aConnection.Open();
OleDbDataReader aReader = aCommand.ExecuteReader();
while(aReader.Read())
{
DataRow dr = dt.NewRow();
dr["ID"] = aReader.GetInt32(0).ToString();
dt.Rows.Add(dr);
}
aReader.Close();
for (int Count=0;Count<dt.Rows.Count;Count++)
{
OleDbCommand bCommand = new OleDbCommand("DELETE FROM DOCS2 WHERE ID = "+dt.Rows[Count]["ID"].ToString(), aConnection);
OleDbDataReader bReader = bCommand.ExecuteReader();
bReader.Close();
}
//close the connection Its important.
aConnection.Close();
}
//Some usual exception handling
catch(OleDbException e)
{
nCore.ErrorHalt("Fehler beim Datenbank2 leeren.\n"+e.ToString());
}
}
/// <summary>
/// F黦t in die standadisierte Datenbank (einseitig)
/// eine binary Datei an der angegbene ID Positon ein
/// </summary>
/// <param name="DB">String der Datenbank Datei z.B."c:\\1.mdb"</param>
/// <param name="Doc">String der Binary Datei die eingef黦t werden soll z.B. "C:\\1.bmp"</param>
/// <param name="ID">Possition der "Seite" in der DB</param>
public static void InsertDB1(string DB,string Doc,int ID)
{
OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ DB);
try
{
aConnection.Open();
OleDbCommand aCommand = new OleDbCommand("INSERT INTO DOCS (ID,DOCOMENT) VALUES ("+ID.ToString()+",@BLOBData)", aConnection); //achtung, geht nach 1
String strBLOBFilePath = Doc;
FileStream fsBLOBFile = new FileStream(strBLOBFilePath,FileMode.Open, FileAccess.Read);
Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
fsBLOBFile.Close();
aCommand.Parameters.Add("@BLOBData", OleDbType.Binary, bytBLOBData.Length).Value = bytBLOBData;
aCommand.ExecuteNonQuery();
aConnection.Close();
}
catch(OleDbException e)
{
nCore.ErrorHalt("Fehler beim DatenBank einf黦en\n"+e.ToString());
}
}
//
// TODO: InsertDB1-2 zusammenfassen +ID
//
/// <summary>
///
/// </summary>
/// <param name="DB"></param>
/// <param name="Doc"></param>
/// <param name="ID"></param>
public static void InsertDB2(string DB,string Doc,int ID)
{
OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ DB);
try
{
aConnection.Open();
OleDbCommand aCommand = new OleDbCommand("INSERT INTO DOCS2 (ID,DOCOMENT) VALUES ("+ID.ToString()+",@BLOBData)", aConnection); //achtung, geht nach 1
String strBLOBFilePath = Doc;
FileStream fsBLOBFile = new FileStream(strBLOBFilePath,FileMode.Open, FileAccess.Read);
Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
fsBLOBFile.Close();
aCommand.Parameters.Add("@BLOBData", OleDbType.Binary, bytBLOBData.Length).Value = bytBLOBData;
aCommand.ExecuteNonQuery();
aConnection.Close();
}
catch(OleDbException e)
{
nCore.ErrorHalt("Fehler beim DatenBank einf黦en\n"+e.ToString());
}
}
/// <summary>
///
/// </summary>
/// <param name="WorkDir"></param>
/// <param name="Database"></param>
public static void PPTInsertHelper1(string WorkDir,string Database)
{
string[] TempEnt = Directory.GetFiles(WorkDir + "\\temp\\", "*.emf");
string head = TempEnt[0].Substring(TempEnt[0].LastIndexOf("\\")+1);
head = head.Substring(0,head.IndexOf("."));
for (int i=head.Length;i>0;i--)
{
if (head[head.Length-1] == '0' ||
head[head.Length-1] == '1' ||
head[head.Length-1] == '2' ||
head[head.Length-1] == '3' ||
head[head.Length-1] == '4' ||
head[head.Length-1] == '5' ||
head[head.Length-1] == '6' ||
head[head.Length-1] == '7' ||
head[head.Length-1] == '8' ||
head[head.Length-1] == '9') {head = head.Substring(0,head.Length-1);}
}
int eins =1;
for (int insertnr=1;insertnr<=TempEnt.Length;insertnr++)
{
string wmfFile = WorkDir + "\\temp\\" + head + insertnr.ToString() + ".emf";
//Console.WriteLine(wmfFile);
nCoreHlp.InsertDB1(WorkDir + "\\" + Database,wmfFile,eins);eins++;
}
Directory.Delete(WorkDir + "\\temp\\", true);
}
/// <summary>
///
/// </summary>
/// <param name="WorkDir"></param>
/// <param name="Database"></param>
public static void PPTInsertHelper2(string WorkDir,string Database)
{
string[] TempEnt = Directory.GetFiles(WorkDir + "\\temp\\", "*.emf");
string head = TempEnt[0].Substring(TempEnt[0].LastIndexOf("\\")+1);
head = head.Substring(0,head.IndexOf("."));
for (int i=head.Length;i>0;i--)
{
if (head[head.Length-1] == '0' ||
head[head.Length-1] == '1' ||
head[head.Length-1] == '2' ||
head[head.Length-1] == '3' ||
head[head.Length-1] == '4' ||
head[head.Length-1] == '5' ||
head[head.Length-1] == '6' ||
head[head.Length-1] == '7' ||
head[head.Length-1] == '8' ||
head[head.Length-1] == '9') {head = head.Substring(0,head.Length-1);}
}
int eins =1;
int zwei =1;
for (int insertnr=1;insertnr<=TempEnt.Length;insertnr++)
{
string wmfFile = WorkDir + "\\temp\\" + head + insertnr.ToString() + ".emf";
//Console.WriteLine(wmfFile);
if ((insertnr % 2) == 1)
{
nCoreHlp.InsertDB1(WorkDir + "\\" + Database,wmfFile,eins);eins++;}
else
{
nCoreHlp.InsertDB2(WorkDir + "\\" + Database,wmfFile,zwei);zwei++;}
}
Directory.Delete(WorkDir + "\\temp\\", true);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -