Generatore di istruzioni SQL Update utilizzando C # Winforms?

0

Sto cercando di creare un generatore UPDATE STATEMENT usando C # Winforms. Mi piacerebbe creare un generatore di istruzioni che stampi dichiarazioni come questa:

UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';

Ma il mio problema è, come posso consentire all'utente di incollare più valori per ogni SET ? È probabile che il mio utente finale crei un elenco utilizzando un foglio di calcolo e vorrà incollare i valori in una casella di testo su più righe. Potrei creare 2 caselle di testo multilinea, ma cosa succede se ho più SET colonne che devo aggiungere?

    
posta PriceCheaperton 25.01.2014 - 14:28
fonte

3 risposte

2

Gli utenti non dovrebbero fare qualsiasi cosa con SQL.

La tua applicazione dovrebbe prendere i valori che gli utenti inseriscono, validandoli, assemblandoli, come richiesto, nell'istruzione SQL preferibilmente usando i Parametri invece di costruire SQL raw e quindi eseguirli.

Suggerirei che una casella di testo multilinea sia una scelta sbagliata dell'interfaccia utente per questo.

Anche se si imposta una riga per il campo [tabella database], come in ...

                --------- 
Customer Name: | Fred    | 
Contact Name:  | Wilma   | 
City:          | Bedrock | 
                --------- 

... cosa succederebbe se [accidentalmente] cancellasse una di quelle righe?
I dati sarebbero "associati" al campo precedente , che probabilmente causerebbe il caos.

Questo è il genere di cose per cui sono stati creati Grid Controls. È possibile controllare cosa rappresenta / contiene ciascuna cella e, da altri metadati, è possibile determinare quale tipo di dati è ciascun elemento, come convalidarlo e come memorizzarlo (ovvero quale tipo di parametro creare).

In alternativa, se desideri una funzione di "caricamento collettivo" da un foglio di calcolo, creane una. Devi quindi pensare alla convalida un po 'diversamente, però.
Cosa succede se forniscono un foglio di calcolo con venti righe, tre delle quali contengono dati errati che l'applicazione rifiuta? Rifiuta tutti e venti e costringi l'utente a rielaborare l'intero lotto? Potrebbe essere effettivamente più semplice se riesci a scrivere l'errore [messaggi] nel foglio di calcolo per farli lavorare. In alternativa, puoi prendere il foglio di calcolo indicato e restituirgli uno nuovo contenente solo le righe rifiutate; meno per loro di lavorare attraverso ma più complesso da generare. YMMV.

    
risposta data 06.07.2016 - 13:04
fonte
0

Vorrei incoraggiare l'utente ad esportare il foglio di calcolo. Ogni intestazione di colonna diventa il campo da impostare e ogni riga diventa uno dei valori. Scrivi codice per importare il foglio di calcolo.

    
risposta data 05.07.2016 - 21:49
fonte
-2

Inserisci campi di testo semplici, controlla se l'utente ha inserito qualcosa, quindi controlla / evita i tentativi di SQL injection, quindi sostituisci "Alfred Schmidt" con value1, ecc.

    
risposta data 27.01.2014 - 18:15
fonte

Leggi altre domande sui tag