Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Visual Studio 2019. Testo sulla barra al centro e salvare i dati in Ac...
giovedì 23 luglio 2020 - 08.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 08:42
Gent.mi,
una richiesta che potrebbe essere banale.
In un form con il seguente codice, inserisco un nome alla barra del Form dove è situato sulla destra la X e gradirei sapere se è possibile averlo al centro della barra e possibilmente in grassetto:
> this.Text = "Aggiungi Record"; <
Inoltre gentilmente gradirei salvare i dati in Access.
Il DataGridView, viene popolato dalle TextBox con il seguente codice:
> table.Rows.Add(Txt_Nome.Text, Txt_Cognome.Text, Txt_Citta.Text, Txt_Professione.Text);
dataGridView1.DataSource = table; <
Gentilmente gradirei sapere con un pulsante, salvare i record dal DataGridView in Database di Access.
Il Database di Access è: Dati.Mdb e le tabelle "Documenti".
Anticipatamente ringrazio e fiducioso di una gradita soluzione, saluto.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 08:55
Buongiorno Domenico,
per allineare, al centro, il titolo della form è sufficiente scrivere il seguente metodo e richiamarlo dall'evento Form Load
private void UpdateTextPosition()
{
Graphics g = this.CreateGraphics();
Double startingPoint = (this.Width / 2) - (g.MeasureString(this.Text.Trim(), this.Font).Width / 2);
Double widthOfASpace = g.MeasureString(" ", this.Font).Width;
String tmp = " ";
Double tmpWidth = 0;
while ((tmpWidth + widthOfASpace) < startingPoint)
{
tmp += " ";
tmpWidth += widthOfASpace;
}
this.Text = tmp + this.Text.Trim();
}
Per quanto riguarda il salvataggio dei dati, dovrei sapere il tipo di connessione che stai utilizzando (OLE DB, ODBC, EF .. etc)
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 10:04
Gent.mo morpheur87mi,
per il titolo sulla barra OK e grazie della tempestività.
Per il Database sono in difficoltà.
Ho sempre programmato in VB.net e da un mese sono passato al C#.
Ho reralizzato 2 programmi e l'ultimo l'ho realizzato salvando i dati in XML e gradirei salvare anche in Database di Access.
La connessione che dovrò utilizzare dovrebbe essere OLE DB come al VBnet.
Cercherò di realizzare e sarà mia premura comunicare l'esito sperando di riuscire.
Sono sempre grato per la gentilezza, cortesia e per l'aiuto.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 11:12
Buongiorno Domenico,
è sufficiente
OleDbCommandBuilder build = new OleDbCommandBuilder(adapter);
per la creazione della query di aggiornamento e sull'evento clic sul pulsante Salva record, scrivere la riga seguente:
adapter.Update(dt);
dove adapter è un oggetto di OleDbDataAdapter e dt è un oggetto di DataTable
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 11:42
Gent.mo morpheur87mi,
dire grazie è poco per la disponibilità e l'aiuto che ricevo.
Attualmente riesco a leggere i dati in C# inseriti dal Database di Access in DataGridView con il seguente codice:
using System.Data.OleDb;
public partial class Form1 : Form
{
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\Tabella.mdb";
OleDbConnection Conn;
OleDbDataAdapter Adapter;
string tabella = "Tabella";
DataSet Ds = new DataSet();
private void Form1_Load(object sender, EventArgs e)
{
Conn = new OleDbConnection(connStr);
string sSQL = ("SELECT * FROM " + tabella);
OleDbCommand Cmd = new OleDbCommand(sSQL, Conn);
Adapter = new OleDbDataAdapter(Cmd);
OleDbCommandBuilder CB = new OleDbCommandBuilder(Adapter);
Adapter.Fill(Ds, tabella);
DataGridView1.DataSource = Ds.Tables[tabella];
Purtroppo non riesco ad inserire i dati dalle TextBox in DataGridView e successivamente salvare con un pulsante in Database di Access.
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 11:54
Semplicemente si può salvare i dati delle TextBox direttamente nel db e poi ricaricare la DataGrid.
Quindi basta eseguire l'istruzione INSERT
String sSQL = "INSERT INTO tabella(campo1, campo2, etc) VALUES('"+ TextBox1.Text +"','"+ TextBox2.Text +"', etc)";
OleDbCommand cmd = new OleDbCommand(sSQL , Conn);
cmd.ExecuteNonQuery();
successivamente richiamare il caricamento della DataGrid
Un altro metodo, più veloce e più dinamico, è quello di gestire la nuova riga direttamente dalla DataGrid.
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 12:21
Gent.mo morpheur87mi,
ho provato e mi da l'errore:
> richiede una oggetto Connection aperto e disponibile. Lo stato attuale della
connessione è chiuso.
Non è meglio inserire prima sul DGV e successivamente salvare?
Grazie
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 12:26
Mi scusi.. davo per scontato l'apertura della connessione. Basta inserire prima
Conn = new OleDbConnection(connStr);
Quindi viene
Conn = new OleDbConnection(connStr);
String sSQL = "INSERT INTO tabella(campo1, campo2, etc) VALUES('"+ TextBox1.Text +"','"+ TextBox2.Text +"', etc)";
OleDbCommand cmd = new OleDbCommand(sSQL , Conn);
cmd.ExecuteNonQuery();
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 12:38
Gent.mo morpheur87mi,
sono rammaricato presenta lo stesso errore.
Grazie
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 12:46
Conn = new OleDbConnection(connStr);
Conn.Open();
String sSQL = "INSERT INTO tabella(campo1, campo2, etc) VALUES('"+ TextBox1.Text +"','"+ TextBox2.Text +"', etc)";
OleDbCommand cmd = new OleDbCommand(sSQL , Conn);
cmd.ExecuteNonQuery();
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 13:00
Gent.mo morpheur87mi,
l'errore che presenta ora:
> Tipi di dati non corrispondentyi nell'espressione criterio <
Dove sono i campi 1, 2, 3, ho inserito le voci del Database Access che sono Voce, Mese, Data
Grazie
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 13:04
Semplice... nella VALUES bisogna usare gli apici solo se il tipo dato del campo è un Char altrimenti niente.
Ovvero se il tipo dato è Char usi la seguente
.. VALUES('"+ TextBox1.Text +"','"+ TextBox2.Text +"', etc)";
altrimenti
.. VALUES("+ TextBox1.Text +","+ TextBox2.Text +", etc)";
Ovviamente può essere anche misto
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 13:45
Gent.mo morpheur87mi,
eliminando gli apici, presenta l'errore:
> Nessun valore specificato per alcuni parametri necessari.
//String sSQL = "INSERT INTO tabella(Voce, Mese, Data) VALUES('" + Txt_Voce.Text + "','" + Txt_Mese.Text + "','" + Txt_Data.Text + "')";
String sSQL = "INSERT INTO tabella(Voce, Mese, Data) VALUES(" + Txt_Voce.Text + "," + Txt_Mese.Text + "," + Txt_Data.Text + ")";
Grazie e scusa
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 13:59
Sembrerebbe che qualche textbox sia vuota.
Dovresti verificare il valore della variabile sSql.
Usa magari una Console.WriteLine o MessageBox.Show
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Pacifico
Profilo
| Newbie
49
messaggi | Data Invio:
gio 23 lug 2020 - 14:33
Gent.mo morpheur87mi,
ora funziona e funziona con gli apici. E' stata dura.
Il motivo non riesco a comprendere prima no ora si.
Mi scuso per il tempo che hai perso per l'aiuto.
Auguro di proseguire. Buona giornata
Domenico.
morpheus87mi
Profilo
| Junior Member
85
messaggi | Data Invio:
gio 23 lug 2020 - 14:42
Ottimo :-)
Alla prossima.
______________________________________________________________________________
Basta solo un carattere sbagliato nel codice sorgente per distruggere un'intera applicazione
Torna su
Stanze Forum
Elenco Threads
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 !