Diskuze: Databáze s X tabulkami
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
No, pracuji pouze s textem, takže jsem to raději vymyslel přes souborový systém - 100% to půjde všem a práce s tím bude mnohem efektivnější - při startu načtu vše do 2 listů (Pouze cesty k souborům.) - dále budu upravovat jen listy, a při ukončení listy jen uložím do souborového systému...
To mi zní tak, že práce s databázemi ve Windows je natolik složitá, že jim raději vyhneš a budeš to chtít dělat ručně na souborech. Přitom to má být přesně naopak. Databáze jsou tu od toho, aby nám práci zjednodušily a zabezpečily data před ztrátou.
Možná sis tu databázi při pokusech nějak poškodil a teď stávkuje. Pokud v ní máš postradatelná data, smaž ji a nechej vytvořit znovu.
Pro to co dělám to bude jednodušší - navíc to takto bude přístupné i mimo program - a to právě chci...
Souborový systém je také databáze. Jen trochu jiná. Pozor na race condition a nauč se dělat atomické zápisy, ať o ta data nepřijdeš.
using System;
using System.IO;
using System.Windows.Forms;
namespace Gascripe
{
public partial class Gascripe : Form
{
private string myFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Gascripe", pathCS, pathGML;
private SpravaGascripe shelf = new SpravaGascripe();
public Gascripe()
{
InitializeComponent();
pathCS = myFolder + @"\ScriptsCS";
pathGML = myFolder + @"\ScriptsGML";
var mum = new DirectoryInfo(myFolder);
var partCS = new DirectoryInfo(pathCS);
var partGML = new DirectoryInfo(pathGML);
if (mum.Exists)
{
treeView1.Nodes.AddRange(shelf.CreateNodesArray(pathCS));
treeView2.Nodes.AddRange(shelf.CreateNodesArray(pathGML));
}
else
{
mum.Create();
partCS.Create();
partGML.Create();
}
}
private void treeView_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
try
{
e.Node.Nodes.Clear();
e.Node.Nodes.AddRange(shelf.CreateNodesArray(e.Node.Tag.ToString()));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error - Chyba");
}
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
Do té metody button1_Click dám akoráte vytvoření složky, a ve
složkách půjde vytvářet textové soubory (RTF) - celá věda...
Tak další problém, který jsem si vyřešil sám - je třeba využívat
elementů z System.Data.SqlServerCe ne z System.Data.SqlClient... Nyní jsem tedy velice spokojen -
protože si vystačím s dvěmi metodami - obě o cca 10 řádcích - přidání
a vybrání dat - tedy bez jakých koliv jiných pomůcek... (Celé je to tak
kratší o polovinu.)
Zobrazeno 8 zpráv z 8.