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
ASP.NET 1.0/1.1
Un aiuto x piacere su date e affini
venerdì 30 gennaio 2004 - 14.41
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
lobax
Profilo
| Junior Member
93
messaggi | Data Invio:
ven 30 gen 2004 - 14:41
Ciao a tutti,
Chiedo un aiuto per un problema di interrogazione su access con date.
per far capire il problema posto un pezzo di codice:
utilizzo un componente funzionale per la logica di accesso ai dati, il probema per ora e semplicemente quello di passare i parametri alla query:
questa è la funzione incapsulata nel componente:
--
Public Function FindSpace(ByVal data As DateTime, ByVal ora As String, ByVal IDS As Integer) As Integer
Dim BSconn As OleDbConnection = New OleDbConnection(ConfigurationSettings.AppSettings("connString"))
Dim sql As String = "SELECT Appuntamento.UID, Appuntamento.IDS, Appuntamento.Data, Appuntamento.ora, Servizi.Stato FROM Servizi INNER JOIN Appuntamento ON Servizi.IDS = Appuntamento.IDS WHERE Appuntamento.data=? And Appuntamento.ora= ? And Appuntamento.ids=? And Servizi.stato=1"
BSconn.Open()
Dim cmd As New OleDbCommand(sql, BSconn)
cmd.CommandType = CommandType.Text
Dim parData As New OleDbParameter("@data", OleDbType.Date)
parData.Value = data
cmd.Parameters.Add(parData)
Dim parOra As New OleDbParameter("@ora", OleDbType.Char, 11)
parOra.Value = ora
cmd.Parameters.Add(parOra)
Dim ParIds As New OleDbParameter("@ids", OleDbType.Integer)
ParIds.Value = IDS
cmd.Parameters.Add(ParIds)
Dim result = cmd.ExecuteReader(CommandBehavior.CloseConnection)
Return result
tutti i parametri sono valorizzati e nel db il record esiste, xchè il datareader mi restituisce sempre un valore falso, nella pagina ho 3 controlli 2 dropdl e un datepicker
li passo così x ora mi serve solo capire se trova qualche cosa nel db o meno.
------------------------------------
Private Sub BntFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BntFind.Click
Dim FindApp As BeautySite.Appuntamenti = New BeautySite.Appuntamenti
Dim x As Boolean = FindApp.FindSpace(CalePop.SelectedDate, DrOra.SelectedValue, DrService.SelectedValue).Read
If x = False Then
L1.Text = x
BntFind.Visible = False
Pnl.Visible = True
Else
L1.Text = "ok"
End If
End Sub
-------------
siccome non riuscivo a capire ho fatto un ulteriore test, ho creato un semplice webform di prova con 3 textbox
--
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim data As DateTime = CDate(Request.Params("data"))
Dim ora As String = Request.Params("ora")
Dim ids As Integer = CInt(Request.Params("ids"))
Dim x As BeautySite.Appuntamenti = New BeautySite.Appuntamenti
Dim y As oledbdatareader = x.FindSpace(data, ora, ids)
While y.Read
Response.Write(y("data"))
Response.Write(y("ora"))
Response.Write(y("ids"))
End While
y.Close()
End Sub
qui mi da un errore di Cast from string "1/26/2004" to type 'Date' is not valid.
ci risiamo con il casting, dove sbaglio?
grazie ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 30 gen 2004 - 19:01
Secondo me quel casting non si può fare, io proveri a fare così:
Dim data As DateTime =DateTime.Parse(Request.Params("data"))
ciao
david
lobax
Profilo
| Junior Member
93
messaggi | Data Invio:
sab 31 gen 2004 - 12:24
ciao,
dunque questo mi da un errore già nell'intellisense
(y("data").ToString("dd/MM/yyy")), posso fare al limite:
(y("data").ToShortDateString("dd/MM/yyy")).
invecie per quanto riguarda la variabile "data":
Dim data As DateTime = Convert.ToDateTime(Request.Params("data"))
oppure:
Dim data As DateTime = DateTime.parse(Request.Params("data"))
mi restituisce:
String was not recognized as a valid DateTime.
Line 33: Dim data As DateTime = Convert.ToDateTime(Request.Params("data")),
ho controllato nel debug la variabile "data" è sempre valorizzata a : data = #12:00:00 AM# anche a text box vuota.
nn ne posso + grazie per l'aiuto
lobax
Profilo
| Junior Member
93
messaggi | Data Invio:
lun 2 feb 2004 - 16:52
ciao,
il casting dovrebbe essere a posto cmq non mi restituisce nessuna riga il datareader, y e la variabile assegnata al datareader, questo è output del debug per y:
Depth 0 Integer
FieldCount 4 Integer
HasRows False Boolean
IsClosed False Boolean
Item <cannot view indexed property> Object
RecordsAffected 0 Integer
a questo punto spero non vi disturbi se allego :
1 la query in access
2 la funzione incapsulata nella classe
3 il file cb delle text box
sono poche righe , spero qualcuno possa trovare il tempo di provarlo un attimo, sarò felice di farmi insultare se mi aiutate.
grazie raga
ciao
lobax
Profilo
| Junior Member
93
messaggi | Data Invio:
ven 13 feb 2004 - 09:38
nessuno riesce a darmi una mano?
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 !