Nuovo record

venerdì 04 aprile 2014 - 17.55
Tag Elenco Tags  VB.NET

pedro8a Profilo | Junior Member

Ciao a tutti,
ho un problema, se scrivo "Select id, a, b,c from T1where id=1" recupero i campi della tabella T1 e li posso associare ad un datagridviewe.
Fin qui tutto ok, un ipotetico utente ha selezionato l'id 1, il programma recupera i dati e li mostra.

Il problema è: quando l'utente decide di inserire un nuovo record, come recupero la struttura della tabella?

________________________
Pedro8a
Sviluppo per passione

algraps Profilo | Junior Member

>Ciao a tutti,
>ho un problema, se scrivo "Select id, a, b,c from T1where id=1"
>recupero i campi della tabella T1 e li posso associare ad un
>datagridviewe.
>Fin qui tutto ok, un ipotetico utente ha selezionato l'id 1,
>il programma recupera i dati e li mostra.
>
>Il problema è: quando l'utente decide di inserire un nuovo record,
>come recupero la struttura della tabella?
>
>________________________
>Pedro8a
>Sviluppo per passione
Ciao,
ho due domande:

cosa stai utilizzando per gestire i dati: LINQ, ENTITY FRAMEWORK, ADO.NET, DATASOURCE E DATATABLE.

L'inserimento lo lo fai direttamente dalla griglia oppure da un form e poi fai il reload della griglia?

Ciao
Al.
A.G.
http://nothingnessit.wordpress.com/

pedro8a Profilo | Junior Member

Utilizzo ADO .NET
L'inserimento lo faccio da form, l'utente inserisce i dati in textbox e con un tasto Insert, devo aggiungere i nuovi dati.
Nel form, voglio lavorare in modalità disconnessa, solo alla pressione del tasto salva, aggiorno il database.
Quindi ho bisogna della struttura della tabella.
Spero di essere stato chiaro.

Nel caso in cui sto modificando dei dati allora:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim cm As New OleDbCommandBuilder(da)
da.Update(ds, "test")
End Sub

il da ha recuperato precedentemente i dati.



________________________
Pedro8a
Sviluppo per passione

algraps Profilo | Junior Member

Scusami non son sicuro di aver capito ma cerco di scrivere una possibile soluzione per capire se ho capito o no .. SCUSA IL GIOCO DI PAROLE ma era divertente.... :-)

con la select riesci a ad avere le colonne.. la carichi sempre giusto...

DataTable tblSchema;

int numColumns = tblSchema.Columns.Count;
string insertQ = "Insert into T (";
foreach (DataRow dr in tblSchema.Rows)
{
//qui dentro ti costruisci la query di insert
insertQ += dr["ColumnName"] + ",";
}
insertQ = insertQ + " VALUES ( 1,2,.....)"

Spero di aver capito il problema...
Ciao
Al.


A.G.
http://nothingnessit.wordpress.com/

pedro8a Profilo | Junior Member

Mi spiego meglio:
devo inserire una nuova riga in una tabella.
Quando accedo al form per l'inserimento, non ho una query del tipo "select campo1, campo2, from tabella where..."
Allora cosa ho fatto, ho creato a runtime un dataset con i campi che mi interessano e poi con una query "insert into tabelaa...." inserisco i dati.
Direi che è poco elegante e molto laborioso...


________________________
Pedro8a
Sviluppo per passione
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5