Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - C# Scrivere dati su database da excel
Forum - C# / VB.NET - C# Scrivere dati su database da excel - Pagina 3

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 12:08
Mercoledì, 26/07/2017
Spiega che senso ha separare i cognomi e i nomi di persone tra tabelle diverse.

Dicci cosa te ne fai di un elenco di nomi completamente slegato da un elenco di cognomi.

Ultima modifica effettuata da nessuno il 26/07/2017 alle 12:58


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 13:13
Mercoledì, 26/07/2017
Testo quotato

Postato originariamente da nessuno:

Spiega che senso ha separare i cognomi e i nomi di persone tra tabelle diverse.

Dicci cosa te ne fai di un elenco di nomi completamente slegato da un elenco di cognomi.



Questa non l'avevo capita, quoto nessuno.
Una tabella per un solo campo ha utilità 0.

Una tabella serve a raggiungere un determinato gruppo di informazioni tramite un ID
O un dato valore.
Cosa come accade per una lista o struttura.

Utilizzare il database in questo modo non serve proprio a nulla.
Tanto vale serializzare una lista e fai prima.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
wuolfit (Normal User)
Pro


Messaggi: 100
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 14:45
Mercoledì, 26/07/2017
Beh se quello che sto facendo servisse per fare un progetto reale in una azienda, anche io farei un unica tabella persone dove mettere nome, cognome ecc!!!!! Ma visto che è un qualcosa che a me serve per imparare il linguaggio suddividere i dati in varie tabelle aumenta esponenzialmente il livello di difficoltà esempio pratico : Thejuster prima ha postato questo codice

Codice sorgente - presumibilmente C# / VB.NET

  1. for (int i = 0; i < dataGridView1.Rows.Count; i++)
  2.           {
  3.               string cmd = string.Format("INSERT INTO rrRaccolta (nome,cognome,indirizzo) VALUES ('{0}','{1}','{2}');", dataGridView1.Rows[i].Cells[0].Value, dataGridView1.Rows[i].Cells[1].Value, dataGridView1.Rows[i].Cells[2].Value);
  4.  
  5.            //Eseguo il comando per inserire i valori nel database
  6.           }



ora se io volessi farlo funzionare con il mio schema dovrei fare così :

Codice sorgente - presumibilmente C# / VB.NET

  1. for (int i = 0; i < dataGridView1.Rows.Count; i++)
  2.           {
  3.               string cmd = string.Format("INSERT INTO rrNome (nome) VALUES ('{0}');", dataGridView1.Rows[i].Cells[0].Value);
  4.  
  5.              string cmd1 = string.Format("INSERT INTO rrCognome (cognome) VALUES ('{0}');", dataGridView1.Rows[i].Cells[1].Value);
  6.  
  7.            //Eseguo il comando per inserire i valori nel database
  8.           }



e così via per ogni tabella ma io sono convinto che darà errore questa sera quando lo proverò mentre sono convinto, che se avessi messo tutto su una tabella (la parte facile :heehee:) il codice avrebbe funzionato alla perfezione

Ultima modifica effettuata da wuolfit il 26/07/2017 alle 14:56
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:54
Mercoledì, 26/07/2017
Testo quotato

Postato originariamente da wuolfit:

Beh se quello che sto facendo servisse per fare un progetto reale in una azienda, anche io farei un unica tabella persone dove mettere nome, cognome ecc!!!!! Ma visto che è un qualcosa che a me serve per imparare il linguaggio suddividere i dati in varie tabelle aumenta esponenzialmente il livello di difficoltà!!!!



Ma che c'entra? E' assolutamente assurdo quello che dici.

Se vuoi farlo più "difficile", imposta altre caratteristiche che rendano necessarie molte tabelle, ma fallo corretto!

Tu hai una visione molto legata ad "Excel" e dei dati presentati su un foglio elettronico, che è molto diversa da come i dati sono gestiti all'interno di un DBMS. Ecco perché ti dicevo che hai molta confusione su tabelle, righe e campi e problematiche DBMS. Devi prima di tutto studiare quelle cose e poi passare a scrivere codice. (Ad esempio, le tabelle di cui parli devono esistere nel DBMS con tutti i campi necessari e con il nome e tipo corretto, prima di inserirci dati).

Testo quotato


e così via per ogni tabella ma io sono convinto che darà errore questa sera quando lo proverò mentre sono convinto, che se avessi messo tutto su una tabella (la parte facile :heehee:) il codice avrebbe funzionato alla perfezione



Questo si capisce ancora meno ...

Guarda, ovviamente, sei libero di fare quello che vuoi, ma non pretenderai che ti si risponda seriamente su quesiti assurdi.


Ultima modifica effettuata da nessuno il 26/07/2017 alle 15:36


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 0:12
Giovedì, 27/07/2017
Tranquillo che non ti darà errore
Ovviamente il codice si basa su datagridview e non un dataset.

Ho utilizzato in passato i dataset per delle prove,
Ma e meglio lasciarli alla polvere cosi come sono e sfruttare invece
Un db SqLite o MySql. Evita quello di microsoft e un consiglio....

Cmq un esercizio buono, e quello che ti ha consigliato nessuno.
Il tuo e completamente sbagliato e non serve a nulla.
Anzi, invece di imparare farai solo piu confusione.

Se vuoi imparare ascolta i nostri consigli soprattutto quelli di nessuno
Che e uno dei piu esperti in questa community anche se non lo da a vedere.

Se proprio vuoi complicarti la vita, prova a fare un miscuglio di dati
E ti crei un algoritmo che ti vada ad ordinare i vari elementi in alcune liste
Ma non dabase come stai facendo.
Ti assicuro che tutto e tranne che istruttivo .


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:24
Giovedì, 27/07/2017
Usare un database in maniera illogica e anti professionale ha gran poco di istruttivo.... Diciamo pure niente.

PM Quote
Avatar
wuolfit (Normal User)
Pro


Messaggi: 100
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 17:25
Giovedì, 27/07/2017
TheJuster devo purtroppo smentirti....ieri sera provando il codice da te postato, sia con le modifiche da me indicate nell'ultimo post che ho scritto, sia usandolo come lo avevi scritto te (ovviamente ho inserito tutti i campi e non solo i 3 da te indicati, e sempre ovviamente l'ho usato come lo avevi scritto tu dopo aver creato un unica tabella contenente tutti i campi) come eccezione alla quale non ho trovato soluzione che mi da è : "Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione della raccolta." e la si ferma!!!!

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:43
Giovedì, 27/07/2017
Testo quotato

TheJuster devo purtroppo smentirti



Ovviamente il codice va scritto correttamente ...

E dato che, alla fine, non si capisce quale codice stai usando, mostralo e indica la riga con l'errore.

Così capisci il problema ...

Ultima modifica effettuata da nessuno il 27/07/2017 alle 17:45


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo