Trouver un fichier de code source :
   

Version Française - English Version
Accueil > 

C#

 > 

COBOL TO SQL

 > 

table.cs


COBOL TO SQL

table.cs


Informations sur ce code source

Cliquez pour voir la capture en taille normale
Code Source COBOL TO SQL
Auteur bir
Fichier table.cs en C# / C#.NET
Publié le 04/09/2012

ce programme permet de convertir la descriptions des fichiers de données dans cobol vers le langage SQL afin de pouvoir charger directement les données de l'application Cobol dans une base de donnés SQL SERVER. Il faut noter que les données des fich
 

Fichier : table.cs

Nombre de lignes : 267 lignes


Afficher ce fichier en plein écran
  • using System;
  • using System.Collections.Generic;
  • using System.Linq;
  • using System.Text;
  • using System.IO;
  • namespace SIC_SQL
  • {
  • public class table
  • {
  • public List<string> fileLines;
  • public List<Ligne> lignes;
  • public int NumChamp = 0;
  • public int GRang = 0;
  • public List<Champ> champs;
  • public List<Field> field;
  • public string view_Name;
  • private string base_view_Name;
  • private string load_view_Name;
  • private string table_name;
  • private void getNumChamp()
  • {
  • foreach (var e in fileLines)
  • {
  • Ligne line = new Ligne(e);
  • if (line.Niveau == 0 || line.Niveau == 1) { continue; }
  • else
  • {
  • NumChamp = line.Niveau;
  • break;
  • }
  • }
  • }
  • public table(string file)
  • {
  • fileLines = File.ReadAllLines(file).ToList();
  • getNumChamp();
  • lignes = new List<Ligne>();
  • champs = new List<Champ>();
  • int rang = 0;
  • foreach (var l in fileLines)
  • {
  • Ligne ll = new Ligne(l);
  • if (ll.Niveau != 0)
  • {
  • ll.Rang = rang++;
  • lignes.Add(ll);
  • }
  • }
  • var uneLigne = lignes.Where(l => l.Niveau == 1).Single();
  • view_Name = "[vw_" + uneLigne.Nom + "]";
  • base_view_Name = "[vw_base_" + uneLigne.Nom + "]";
  • load_view_Name = "[vw_load_" + uneLigne.Nom + "]";
  • table_name = "[" + uneLigne.Nom.Remove(uneLigne.Nom.Length - 1, 1) + "]";
  • Initialisation();
  • //lignes.Where(l => l.Niveau == NumChamp).Select(l => l).ToList<ILigne>().ForEach(l => champs.Add(new Champ( l)));
  • //champs.ForEach(ch => ch.childline = getChild(ch.parentline));
  • //field = new List<Field>();
  • //foreach (var ll in lignes.Where(l => l.Niveau == NumChamp))
  • //{
  • // Field f = new Field();
  • // f.parentline = ll;
  • // int i = ll.Rang;
  • // if (i < lignes.Count-1)
  • // {
  • // ILigne tmpLine = lignes[++i];
  • // //ret.Add(tmpLine);
  • // while (tmpLine.Niveau > NumChamp)
  • // {
  • // f.childline.Add(new Child { line = tmpLine });
  • // tmpLine = lignes[++i];
  • // }
  • // }
  • // field.Add(f);
  • //}
  • }
  • public void Initialisation()
  • {
  • var ligneNiveau = lignes.Where(l => l.Niveau == NumChamp).Select(l => l).ToList<ILigne>();
  • int filer = 0;
  • foreach (var l in ligneNiveau)
  • {
  • if (l.isOccurs)
  • {
  • Champ unchamp = new Champ(l, getChild(l));
  • this.AddChamps(unchamp.Duppliquer());
  • }
  • else
  • {
  • if (l.Nom== "FILLER")
  • {
  • ILigne ll = new OccursLigne(l, filer++);
  • champs.Add(new Champ(ll, getChild(ll)));
  • }
  • else
  • {
  • champs.Add(new Champ(l, getChild(l)));
  • }
  • }
  • }
  • }
  • public void AddChamps(List<Champ> lst)
  • {
  • foreach (var item in lst)
  • {
  • champs.Add(item);
  • }
  • }
  • public ILigne Prev(ILigne l)
  • {
  • return lignes.Where(li => li.Rang == l.Rang + 1).Single();
  • }
  • public ILigne Suiv(ILigne l)
  • {
  • return lignes.Where(li => li.Rang == l.Rang - 1).Single();
  • }
  • public List<Champ> getChild(ILigne line)
  • {
  • List<Champ> ret = new List<Champ>();
  • int i = line.Rang;
  • if (i < lignes.Count-1){
  • ILigne tmpLine = lignes[++i];
  • //ret.Add(tmpLine);
  • while ( tmpLine.Niveau > NumChamp)
  • {
  • ret.Add(new Champ(tmpLine));
  • tmpLine = lignes[++i];
  • }
  • }
  • return ret;
  • }
  • public List<string> ToSQL()
  • {
  • List<string> list = new List<string>();
  • list.Add(string.Format (" CREATE TABLE {0} (",this.table_name ));
  • foreach (var e in champs)
  • {
  • list.Add(e.SQLType());
  • }
  • list.Add(")");
  • return list;
  • }
  • public List<string> CreateBaseView()
  • {
  • List<string> list = new List<string>();
  • list.Add(string.Format("CREATE VIEW {0} (", this.base_view_Name ));
  • list.Add("SELECT ");
  • int tailleTotale = 1;
  • foreach (var e in champs)
  • {
  • if (e.parentline.Niveau == NumChamp)
  • {
  • e.TailleTotal = tailleTotale;
  • list.Add(e.SQLBaseView());
  • tailleTotale += e.Valeur;
  • }
  • }
  • //foreach (var e in field)
  • //{
  • // e.TailleTotal = tailleTotale;
  • // list.Add(e.SQLBaseView());
  • // tailleTotale += e.Valeur;
  • //}
  • list.Add(string.Format("FROM {0} ", this.table_name));
  • list.Add("");
  • list.Add("");
  • list.Add(string.Format("CREATE TABLE {0} (", this.table_name));
  • list.Add(string.Format("DATA varchar({0}) ",tailleTotale+1));
  • list.Add(")");
  • return list;
  • }
  • public List<string> CreateViewLoad()
  • {
  • List<string> list = new List<string>();
  • list.Add(string.Format("CREATE VIEW {0} (", this.load_view_Name));
  • list.Add("SELECT ");
  • foreach (var e in champs)
  • {
  • if (e.parentline.Niveau == NumChamp)
  • {
  • if (!e.parentline.isOccurs)
  • {
  • list.Add(e.parentline.SQLLoadView());
  • }
  • else
  • {
  • e.Duppliquer().ForEach(ch => list.Add(ch.parentline.SQLLoadView()));
  • }
  • }
  • }
  • list.Add(string.Format("FROM {0} ", this.base_view_Name));
  • return list;
  • }
  • public List<string> CreateView()
  • {
  • List<string> list = new List<string>();
  • list.Add(string.Format("CREATE VIEW {0} (", this.view_Name));
  • list.Add("SELECT ");
  • foreach (var e in champs)
  • {
  • if (e.parentline.Niveau == NumChamp)
  • {
  • if (!e.parentline.isOccurs)
  • {
  • //list.Add(e.parentline.SQLLoadView());
  • e.SQLView().ForEach(l => list.Add(l));
  • }
  • else
  • {
  • // list.Add(e.parentline.SQLLoadView());
  • e.Duppliquer().ForEach(ch => ch.SQLView().ForEach(l => list.Add(l)));
  • }
  • }
  • }
  • list.Add(string.Format("FROM {0} ", this.table_name));
  • return list;
  • }
  • }
  • }


Liste des fichiers du ZIP

FichierTaille
AboutBox1.cs3,38 Ko
AboutBox1.Designer.cs10,27 Ko
AboutBox1.resx22,36 Ko
AbstractLigne.cs5,42 Ko
app.config845 o
champ.cs3,41 Ko
Diane.cs4,87 Ko
Field.cs3,35 Ko
frmMain.cs5,35 Ko
frmMain.Designer.cs17,76 Ko
frmMain.resx11,89 Ko
IChildItem.cs3,73 Ko
Iligne.cs601 o
ligne.cs1,09 Ko
obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache6,14 Ko
obj/x86/Debug/GenerateResource.read.1.tlog540 o
obj/x86/Debug/GenerateResource.write.1.tlog1,02 Ko
obj/x86/Debug/SIC SQL.csproj.FileListAbsolute.txt1,29 Ko
obj/x86/Debug/SIC_SQL.frmMain.resources4,11 Ko
obj/x86/Debug/SIC_SQL.Properties.Resources.resources180 o
obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll4,5 Ko
obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache6,26 Ko
obj/x86/Release/GenerateResource.read.1.tlog2 o
obj/x86/Release/GenerateResource.write.1.tlog2 o
obj/x86/Release/GenerateResource-ResGen.read.1.tlog766 o
obj/x86/Release/GenerateResource-ResGen.read.7.tlog2 o
obj/x86/Release/GenerateResource-ResGen.write.1.tlog2,54 Ko
obj/x86/Release/SIC SQL.application1,97 Ko
obj/x86/Release/SIC SQL.csproj.FileListAbsolute.txt2,4 Ko
obj/x86/Release/SIC SQL.exe.manifest3,44 Ko
obj/x86/Release/SIC_SQL.AboutBox1.resources11,4 Ko
obj/x86/Release/SIC_SQL.frmMain.resources4,11 Ko
obj/x86/Release/SIC_SQL.Properties.Resources.resources180 o
obj/x86/Release/TempPE/Properties.Resources.Designer.cs.dll5 Ko
OccursLigne.cs641 o
Program.cs483 o
Properties/AssemblyInfo.cs1,73 Ko
Properties/Resources.Designer.cs2,96 Ko
Properties/Resources.resx5,48 Ko
Properties/Settings.Designer.cs1,53 Ko
Properties/Settings.settings413 o
SIC SQL.csproj6,39 Ko
SIC SQL.csproj.user504 o
SIC SQL_TemporaryKey.pfx1,67 Ko
table.cs7,83 Ko
type.cs5,99 Ko

Pour télécharger le zip au complet, veuillez vous rendre sur cette page :
Télécharger COBOL TO SQL


Sources du même auteur ayant un ZIP


  • Visual Basic, VB6, VB.NET, VB 2005, VB Copie de classeur et envoie par mail attaché
    Il est souvent difficile d'envoyer par mail la feuille actif dans excel ce code a pour de palier a ce problème. Il copie la feuille et seu...
    Langage : Visual Basic, VB6, VB.NET, VB 2005, VB, publié le 26/11/2007 par bir

Voir la suite...


Sources du même langage comportant un zip


Voir la suite...





Logiciels à télécharger...

  • Easy-Planning (4.5.0.11)
    Easy-Planning (4.5.0.11)
    Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté aux petites et moyennes entreprises(PME). Easy-Planning permet la création de plannings prévisionnels, p...
  • CVEasy (3.1.0.51)
    CVEasy (3.1.0.51)
    PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante. PHMSD-CVEasy vous assistera pour la rédaction de votre CV, le CV de vos amis ou de membres de votre famille, m...
  • LettresFaciles 2011 (8.6.0.31)
    LettresFaciles 2011 (8.6.0.31)
    LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types. Son interface simple d'utilisation mais suffisamment complète vous permettra de créer une multitude de lettres....

Sondage...

Le top des photos

Photo ??Photo ???????????????
Photo ????????Photo ????????
 

Développement réalisé par Nicolas SOREL (Nix) et Emmanuel (EBArtSoft) avec l'aide de Cyril DURAND, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,63 sec