Newsgroup: it.comp.lang.visual-basic
Titolo: [Winsock e mdb] per cortesia mi aiutate ?

Salve a tutti,
sto cercando di scrivere un piccolo prg (client/server) con
winsock,dopo mille prove sono riuscito a fare funzionare "qualcosa".
Ora, però ho un problema con un'interrogazione di un DB (mdb) da parte
di più utenti in "contemporanea".
Mi spiego, se il client 1 lancia una ricerca (LIKE) immettendo solo
pochi caratteri,quindi una ricerca molto approssimativa il prg "cicla"
ed invia correttamente il Rs al client 1.
Ma, se nel frattempo il client 2 invia anche lui la sua richiesta, il
server si inchioda e non riesce a "capire" più nulla.
"Errore di run-time '3704',L'operazione non è consentita se l'oggetto
è chiuso"
Qui sotto uno stralcio del modulo della Sub incriminata,potete
aiutarmi per favore ?
Immaggino che sia scritto con i "piedi", siate buoni non bastonate
troppo forte :)
In un alro modulo ho inserito :
Public rs() As New ADODB.Recordset
Sub QryGenerica(str1 As String,str6 As String)
	On Error GoTo QryGenerica_Error
	Dim Qry As String
	Dim StringaQry As String
	Dim Conta As Integer
	ReDim rs(2)
	Set rs(CInt(str1)) = New ADODB.Recordset
	Qry = "Select * from TabellaDati WHERE CodiceArticolo LIKE '%" & str6
& "%'"
	rs(CInt(str1)).Open Qry, cnFIP, adOpenKeyset, adLockOptimistic
	If rs(CInt(str1)).RecordCount > 0 Then
	For Conta = 1 To rs(CInt(str1)).RecordCount
	    StringaQry = "QRY~" & rs(CInt(str1))!CodiceArticolo & "~" &
rs(CInt(str1))!Descrizione
	    frmMain.wsClients(CInt(str1)).SendData StringaQry
	    DoEvents
	    rs(CInt(str1)).MoveNext
	Next Conta
	frmMain.wsClients(CInt(str1)).SendData "SIRECORD~" & str6
	DoEvents
	Else
	frmMain.wsClients(CInt(str1)).SendData "NORECORD~" & str6
	DoEvents
	End If
	rs(CInt(str1)).Close
	Set rs(CInt(str1)) = Nothing
          On Error GoTo 0
	   Exit Sub
	QryGenerica_Error:
	MsgBox "Errore " & Err.Number & " (" & Err.Description & ") nella
procedura QryGenerica del Modulo Qry"
End Sub
Grazie mille
R.Zann

rza...@fipnet.it
 ha scritto:
 > Salve a tutti,
 > sto cercando di scrivere un piccolo prg (client/server) con
 > winsock,dopo mille prove sono riuscito a fare funzionare "qualcosa".
 > Ora, perň ho un problema con un'interrogazione di un DB (mdb) da parte
 > di piů utenti in "contemporanea".
[CUT]
Se usi db Access per applicazioni multiutente te la sei andato a cercare :)
Usa SQL Server e ti togli un bel pň di rogne.
bye

 bye

 Non credo ci sia bisogno di ricordarlo,ma non ho mai usato SQL :(.
Eh no, attenzione... SQL Server, non SQL... sono due cose nettamente 
diverse.
In ogni caso, per usare SQL Server, devi cambiare le stringhe di 
connessione, ma il resto è praticamente uguale.
Partire senza le basi minime è inutile.
Ti consiglio di cercare su google qualche mini guida sull'uso di SQL 
Server con VB6 (o meglio, se sei all'inizio, con il gratuito e nuovo 
Visual Basic 2005 Express)
http://msdn.microsoft.com/vstudio/express/downloads/
bye

grazie

 grazie
di nulla.

 
http://msdn.microsoft.com/vstudio/express/downloads/
E già che ci siamo anche SQLServer 2005 express, visto che anche SQLServer 
2000 ormai è abbandonato.
Ciao 

Grazie anche per questo, e , non vorrei essere sfrontato ma,tanto che
cerco in Google non avresti un esempietto ?
Ciao

 cerco in Google non avresti un esempietto ?
Prova qui
http://samples.gotdotnet.com/quickstart
  --> 
http://samples.gotdotnet.com/quickstart/howto/
Poi, per usare SqlServer 2005 è come usare il 2000 cambia solo la stringa di 
connessione, che è leggermente diversa anche per la versione Express:
http://www.connectionstrings.com/
Ciao

Scusa per il "grazie ritardato" ma non ero in ufficio.
ciao
Fabio ha scritto:
