- non avendo il tempo di riscrivere un sistema operativo (è ovvio che non lo scrivo solo per questioni di tempo, per cui portate pazienza)
- non avendo potuto creare un algoritmo di ordinamento che avesse un rapporto di complessità pari a "n" (è ovvio che non lo scrivo perché non lo ritengo un esercizio valido, a chi potrebbe interessare???)
- non avendo voluto cercare di rompere l'algoritmo RSA a 2048 bit (per i troppi rischi connessi, che questo provocherebbe sia alla mia persona fisica, sia il livello destabilizzazione di alcune certezze oramai cardinate nella nostra cultura informatica)
Mi sono preso l'incarico di fornirvi un pezzetto di codice di livello molto basso, ma dico molto basso, e proveniente da un esigenza ancestrale, che prima o poi tutti hanno durante la loro dita da informatici.
Linguaggio C#:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.IO;
namespace CreaFileCSV
{
public partial class sql2CSV
{
public SqlDataReader rs;
string pathEsecuzione = "";
string NomeFile = "";
string sqlquery = "";
public sql2CSV()
{
}
private void ScriviFile()
{
string output = "";
FileInfo miofile = new FileInfo(NomeFile);
StreamReader sr ;
sr = miofile.OpenText();
while (sr.EndOfStream == false)
{
sqlquery = sr.ReadToEnd();
}
string separator = ";";
string conn = @"Data Source=NOME_SERVER;Initial Catalog=NOME_DB;User Id=user1;Password=user1;";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
SqlCommand cm = new SqlCommand(sqlquery, cn);
rs = cm.ExecuteReader();
//INTESTAZIONE
for (int i = 0; i < rs.FieldCount; i++)
{
output += rs.GetName(i) + separator;
}
output += Environment.NewLine;
//RECORD
while (rs.Read())
{
for (int i = 0; i < rs.FieldCount; i++)
{
string p = rs.GetFieldType(i).ToString();
if (rs.GetFieldType(i).ToString().Contains("String"))
if (rs.IsDBNull(i))
output += separator;
else
output += rs.GetString(i) + separator;
else if (rs.GetFieldType(i).ToString().Contains("Decimal"))
output += rs.GetDecimal(i) + separator;
else if (rs.GetFieldType(i).ToString().Contains("Double"))
output += rs.GetDouble(i) + separator;
else
output += rs.GetInt32(i) + separator;
}
output += Environment.NewLine;
}
File.WriteAllText(pathEsecuzione, output.ToString());
}
}
}
Ovviamente il codice è altamente instabile, percui se qualcuno volesse segnalarmi errori, sarò ben lieto di modificare il mio codice, secondo i vostri suggerimenti.
ATTENZIONE:
Sembra che tutto funzioni.... ma provate a compilarlo!!!
Ci sono dei pezzi di codice che definirei imbarazzanti, per come sono scritti.
Si raccomando i lettori di seguire i link ipertestuali inseriti nel testo, per avere una panoramica piu esatta di cio che si sta parlando.
Ci sono dei pezzi di codice che definirei imbarazzanti, per come sono scritti.
Si raccomando i lettori di seguire i link ipertestuali inseriti nel testo, per avere una panoramica piu esatta di cio che si sta parlando.
dalla serie o uno te dice che va bene o niente? che ne dici di inserire anche le diciture tipo: inutile- superfluo- brutto-.....diamo una parvenza di democraticità, capisco che non è di moda in questo paese....ma si può fare... AcerGreen
RispondiEliminaCarissima AcerGreen
RispondiEliminaci ho messo 10 minuti esatti per capire che stavi riferendoti alle reazioni che l'articolo puo portare e non all'articolo in se stesso.
Cmq il Mio ego non resisterebbe a un commento di tipo inutile superfluo brutto!! percui tra le reazioni mi sa che non troverai mail quel checkbox
io c'ho messo un'ora a cercare di capire cosa fosse un CSV! ma dopo la tua esaustiva spiegazione l'informatica per me non ha più segreti!
RispondiElimina