Creare un database file binario

sabato 31 luglio 2010 - 21.10
Tag Elenco Tags  C#  |  .NET 3.5  |  Visual Studio 2008

Anonimo Profilo | Senior Member

Salve, vorrei fare un file binario come fosse un database, con le sue chiamate INSERT INTO, SELECT , UPDATE, DELETE,
Mi dite come posso fare?
Il codice del file binario vi allego qui:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Runtime.Serialization.Formatters.Binary; namespace RubricaTelefonica { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void LoadFile (object sender, EventArgs e) { //richiama il metodo per l'impostazione //del DataGridView Imposta_DGV(); //controlla se il file esiste if (File.Exists("Rubrica.rub")) CaricaFile(); //se esiste carico il dgv con tutti i dati //disabilita il bottone salva btnSalva.Enabled = false; } private void Imposta_DGV() { //imposta il numero di campi per //il DataGridView dgv DGV.ColumnCount = 3; //imposta le intestazioni dei 3 campi DGV.Columns[0].Name = "Nome"; DGV.Columns[1].Name = "Numero"; DGV.Columns[2].Name = "Città"; } private void CaricaFile() { //crea uno stream in lettura FileStream fs = new FileStream("Rubrica.rub", FileMode.Open); //crea un formattatore binario BinaryFormatter binfor = new BinaryFormatter(); //carica nella matrice i dati contenuti nel file string[,] griglia = (string[,])binfor.Deserialize(fs); //chiudi lo stream fs.Close(); //popola il dgv con i dati del file for (int riga = 0; riga < griglia.GetLength(0) - 1; riga++) { //vettore temporaneo che contiene //una riga alla volta della matrice string[] tmp ={ griglia[riga, 0], griglia[riga, 1], griglia[riga, 2] }; //aggiungi il vettore al DataGridView DGV.Rows.Add(tmp); } //imposta il testo del GroupBox grpbDGV.Text = "Nella rubrica sono presenti " + (DGV.Rows.Count - 1) + " voci"; } private void btnIns_Click(object sender, EventArgs e) { //vettore temporaneo che contiene i dati inseriti string[] tmp ={ txtNome.Text, txtTel.Text, txtCitta.Text }; //aggiungilo al dgVDataGridView DGV.Rows.Add(tmp); //abilita il bottone Salva btnSalva.Enabled = true; //imposta il testo del GroupBox grpbDGV.Text = "Nella rubrica sono presenti " + (DGV.Rows.Count - 1) + " voci"; //reimposta i tre textbox txtNome.Text = "Cognome e nome"; txtTel.Text = "Numero di telefono"; txtCitta.Text = "Città"; } private void btnSalva_Click(object sender, EventArgs e) { //conta quante righe possiede //il DataGridView int righe = DGV.Rows.Count; //crea una matrice che conterrà i valori delle celle string[,] griglia = new string[righe, 3]; //i due cicli annidati seguenti //estraggono le informazioni dal DataGridView //e le memorizzano nella matrice che poi //sarà seralizzata for (int riga = 0; riga < righe - 1; riga++) for (int col = 0; col < 3; col++) griglia[riga, col] = DGV.Rows[riga].Cells[col].Value.ToString(); //crea uno stream in modalità scrittura FileStream fs = new FileStream("Rubrica.rub", FileMode.Create); //crea il formattatore BinaryFormatter binfor = new BinaryFormatter(); //serializza la matrice binfor.Serialize(fs, griglia); //chiudo il flusso fs.Close(); //disabilita il pulsante btnSalva.Enabled = false; //ridisegna tutto il DataGridView DGV.Update(); } private void DGV_CellClick(object sender, DataGridViewCellEventArgs e) { //abilita il pulsante //Salva btnSalva.Enabled = true; } private void DGV_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) { //aggiorna il messaggio del controllo GroupBox grpBdgv grpbDGV.Text = "Nella rubrica sono presenti " + (DGV.Rows.Count - 1) + " voci"; } } }
è una semplice rubrica che usa file binari .rub, ma vorrei prendere spunto per usare e creare programmi che non devono avere SQL Server, e MySql e Sql.Lite.

Ma vorrei crearmelo uno io leggero,piccolo, veloce e chiamato da una classe, "pearDB.cs"

Mi dite come fare?

grazie mille.



EDIT . SCUSATE MA HO SBAGLIATO SEZIONE. ...
ME LO POTETE SPOSTARE NELLA SEZIONE GIUSTA.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5