Palmari

venerdì 17 aprile 2009 - 00.03

dani87 Profilo | Junior Member

Ciao a tutti,
ho creato un due applicazione (il linguaggio è c#) :
- la prima è per windows e gestisce un magazzino;
- la seconda è per un palmare, sul quale vengono inseriti dei dati in un database, relativi al magazzino;
il punto su cui mi sono "arrenato" è lo scambio di dati tra il dispositivo e il pc.
Mi potreste dare qualche dritta???
Grazie a tutti

Samb1985 Profilo | Junior Member

L'interazione palmare-pc può avvenire attraverso il database. Cioè entrambi possono accedere al database (magari via wifi) per insert,delete e update.

dani87 Profilo | Junior Member

Ah ok. Mi potresti fare un esempio delle due stringhe di connessione (Per query da palmare a pc e viceversa)?
Grazie

Samb1985 Profilo | Junior Member

La stringa di connessione è uguale per entrambe le applicazioni via IP:

"Data Source=indirizzo ip,1433;Initial Catalog=database.mdf;User ID=user;Password=password;Integrated Security=false";

dani87 Profilo | Junior Member

Ma come trovo l'indirizzo ip del palmare?

Samb1985 Profilo | Junior Member

ip è del pc dove si trova il server. Sia l'applicazione che il palmare si connettono allo stesso server.

dani87 Profilo | Junior Member

Si ma i database sono due: uno risiede sul pc e l'altro sul palmare.

luxsor Profilo | Guru

Ciao Danilo
come ha detto giustamente Stefano che installare il Database su un Server, quindi configurare entrambe le applicazioni per accedere al quel DB.

>Si ma i database sono due: uno risiede sul pc e l'altro sul palmare.
Se desideri utilizzare questa soluzione, devi adoperare una REPLICA
http://msdn.microsoft.com/it-it/library/bb500351.aspx

Te lo sconsiglio se non hai una buona conoscenza di SQL Server.

Facci sapere

dani87 Profilo | Junior Member

Forse non mi sono spiegato in maniera chiara. Ho creato un'applicazione che gestisce una piccola impresa (ordini, fatture, ddt,ecc). Quest'ultima l'ho realizzata in c# e il database con sql express; le query vengono eseguite direttamente da codice. Ora vorrei creare una applicazione, per un palmare, con la quale sarà possibile inserire ordini e clienti nuovi; questi dati verranno salvati su un database (.sdf) presente sul palmare. Al momento del collegamento del palmare con il pc, i dati presenti sul dispositivo portatile devono essere copiati sul database del pc, con opportuni controlli come il numero dell'ordine.

luxsor Profilo | Guru

Ciao
>Al momento del collegamento
>del palmare con il pc, i dati presenti sul dispositivo portatile
>devono essere copiati sul database del pc, con opportuni controlli
>come il numero dell'ordine.
E tutto questo lo vorresti fare tramite codice?

Dovresti ciclare su tutte le righe per verificare se è già presente un ID ordine, in caso di assenza eseguire una Insert nel DB.

Invece se usi una Replica fa tutto questo in automatico.

Fammi sapere



dani87 Profilo | Junior Member

No eseguo una insert senza controllare l'ID poichè ne assegno uno nuovo.

luxsor Profilo | Guru

Quindi la Insert la esegui solo sul palmare?

dani87 Profilo | Junior Member

Diciamo che sul palmare gli ordini rimangono solo temporaneamente, fino a quando non vengono trasferiti sul database che risiede sul pc. Quindi le insert le faccio, sul palmare, per memorizzare temporaneamente gli ordini e poi, sul pc, quando collegando il palmare ciclo tutte le righe e le inserisco.

luxsor Profilo | Guru

OK. Il tuo problema allora qualè?

dani87 Profilo | Junior Member

Non so come connettermi dal pc al database che risiede sul palmare

luxsor Profilo | Guru

Per connetterti al DB sul server, il procedimento è identico a quello che usi per connetterti al DB sul Palmare, l'unica differenza è la stringa di connessione.
Sostituisci la vecchia stringa di connessione con questa:
>Data Source=INDIRIZZO IP DEL SERVER,1433;Initial Catalog=NOME DEL DATABASE;User ID=user;Password=password;Integrated Security=false

Devi controllare che l'istanza SQL Server è in ascolto sulla porta 1433

Fammi sapere

dani87 Profilo | Junior Member

Il DB è sul palmare non sul server.

luxsor Profilo | Guru

Allora metti l'IP del Palmare

dani87 Profilo | Junior Member

Si ma come ti ho scritto qualche post fà non sò come ricavare l'ip del palmare. C'è un modo per ottenerlo da codice quando viene collegato al pc tramite usb? (il S.O. del palmare è windows mibile 5.0)

luxsor Profilo | Guru

se il palmare è connesso in rete con il server:
O dalle impostazioni di configurazione connessioni di rete
o tramite questa funzione che ti restituisce IP address connesso alla rete

Private Function MyIpAddress() As string
Try
Dim hostName As String = Dns.GetHostName()
Dim currenthost As IPHostEntry = Dns.GetHostEntry(hostName)

Return currenthost.AddressList(0).ToString()
Catch ex As Exception
Return ""
End Try
End Function

Fammi sapere

dani87 Profilo | Junior Member

non ho sessun server ho semplicemente un pc a cui collego, tramite USB, un palmare. La funzione che mi hai proposto l'avevo già provata e mi restituisce il nome del mio pc e ogni volta un ip diverso
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5