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. WinForms / WPF .NET
PostgreSQL e VB.Net
martedì 02 agosto 2005 - 17.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
patatini
Profilo
| Newbie
1
messaggi | Data Invio:
mar 2 ago 2005 - 17:37
ciao ragazzi sono un nuovo user di dot net hell...
ho un problema e spero che qualcuno mi vorrà aiutare perchè nnriesco a venirne a capo.
Sto usando codice vb.net per progettare un prog che inserisca dei dati nella tabella di un database.
Per il database mi avvalgo di PostgreSql, quindi uso la libreria dei comandi Npgsql.dll per interaggire con il db.
Ho costruito una semplice tabella del db misurazioni che presenta le seguenti colonne:
1. evento tipo TimeStamp
2. metodo tipo Text
3. ampiezza tipo Numeric[] (questa colonna supporta dati di tipo array-numeric Lunghezza7 Precisione 5)
questo è il codice in vb.net:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
\\ IN QUESTA PRIMA PARTE SIMULO UNA MISURAZIONE CON VALORI RANDOM
\\ "Misura" è UNA CLASSE CREATA DA ME
\\ misura1.Array_misura(i) e misura1.Array_misura sono due prorpietà public che restituiscono l'i-esimo elemento dell'array misura1 e l'array stesso rispettivamente.
Dim misura1 As New Misura("nitriti", 5) \\ Costruttore 5 è la lunghezza dell'array, nitriti il nome del sensore
Dim i As Integer
Dim myrandom As New Random
For i = 0 To 5
misura1.Array_tempo(i) = i
misura1.Array_misura(i) = myrandom.NextDouble
Next i
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
\\ adesso il codice che segue è per uploadare il db
Try
conn.Open()
Dim ds As DataSet = New DataSet
Dim da As New NpgsqlDataAdapter("select * from misurazioni;", conn)
command.CommandText = "insert into misurazioni(evento, metodo, ampiezza, nome_sensore) " _
& "values (:a, :b, :c, :d);"
da.InsertCommand = New NpgsqlCommand(command.CommandText, conn)
da.InsertCommand.Parameters.Add(New NpgsqlParameter("a", DbType.DateTime))
da.InsertCommand.Parameters.Add(New NpgsqlParameter("b", DbType.String))
da.InsertCommand.Parameters.Add(New NpgsqlParameter("c", DbType.Object))
da.InsertCommand.Parameters.Add(New NpgsqlParameter("c", DbType.String))
da.InsertCommand.Parameters(0).Direction() = ParameterDirection.Input
da.InsertCommand.Parameters(1).Direction() = ParameterDirection.Input
da.InsertCommand.Parameters(2).Direction() = ParameterDirection.Input
da.InsertCommand.Parameters(3).Direction() = ParameterDirection.Input
da.InsertCommand.Parameters(0).SourceColumn = "evento"
da.InsertCommand.Parameters(1).SourceColumn = "metodo"
da.InsertCommand.Parameters(2).SourceColumn = "ampiezza"
da.InsertCommand.Parameters(2).SourceColumn = "nome_sensore"
da.Fill(ds)
Dim dt As New DataTable
dt = ds.Tables(0)
Dim dr As DataRow
dr = dt.NewRow
dr("evento") = DateTime.Now
dr("metodo") = TextBox1.Text
dr("ampiezza") = misura1.Array_misura
dr("nome_sensore") = misura1.TipoSensore ' (nitriti in questo caso)
dt.Rows.Add(dr)
Dim ds2 As DataSet
ds2 = ds.GetChanges
--> da.Update(ds2) \\ qui avviene l'errore
ds.Merge(ds2)
ds.AcceptChanges()
Catch ex As Exception
MsgBox(ex.Message)
Me.Dispose()
End Try
End Sub
il codice che ho scritto funziona perfettamente eccetto per la trascrizione nel db dell'array misra1.Array_Misura,
il messaggio ex.Message ("Specified cast is not valid") mi dice praticamente che nn è valida la trascrizione sul DataAdapter, come se numeric() e Object nn fossero "compatibili" : per questo m
papini.sascha
Profilo
| Newbie
19
messaggi | Data Invio:
dom 11 dic 2005 - 11:03
Hummm sinceramente anche io con PostgreSQL ho avuto un po' di problemi ... abituato al Mysql il PostgreSQL è un po' + rigido tipo oracle ...
sinceramente dovresti postare proprio come è fatta la tua tabella ...
ti consiglio di andare a vedere questa pagina
http://www.postgresql.org/docs/8.1/static/datatype.html
alcune volte errori del genere succedono perchè ometti degli '' che postgreSQL vuole o perchè io campi sono totalmente differenti ...
se mi puoi postre proprio la struttura della tabella mi faresti un piacerone ...
ciao Sascha
Nel dubbio GASSE !!!
papini.sascha
Profilo
| Newbie
19
messaggi | Data Invio:
dom 11 dic 2005 - 11:03
Hummm sinceramente anche io con PostgreSQL ho avuto un po' di problemi ... abituato al Mysql il PostgreSQL è un po' + rigido tipo oracle ...
sinceramente dovresti postare proprio come è fatta la tua tabella ...
ti consiglio di andare a vedere questa pagina
http://www.postgresql.org/docs/8.1/static/datatype.html
alcune volte errori del genere succedono perchè ometti degli '' che postgreSQL vuole o perchè io campi sono totalmente differenti ...
se mi puoi postre proprio la struttura della tabella mi faresti un piacerone ...
ciao Sascha
Nel dubbio GASSE !!!
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
mer 23 set 2009 - 07:04
confermo che postgreSQL è molto più rigido e rognoso, talvolta ai limiti della sopportazione e della comprensione...
Se hai problemi posta altre informazioni
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 !