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
Errore che non capisco
giovedì 19 agosto 2010 - 11.59
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
jekisi
Profilo
| Senior Member
460
messaggi | Data Invio:
gio 19 ago 2010 - 11:59
Salve a tutto il forum, avrei il seguente problema:
Ho sviluppato un' applicazione sul mio pc e fin qui tutto funziona bene, mi da poblemi solo l' eseguo da
un altro pc.
Da premettere che io ho Windows Xp e metto l' applicazione su Vista e sul vista mi da un errore.
Io prima eseguo questa query:
Try
Me.TddtTableAdapter.FillBy_dal_al(Me.MessinaDataSet.Tddt, New System.Nullable(Of Date)(CType(DateTimePicker1.Text, Date)), New System.Nullable(Of Date)(CType(DateTimePicker2.Text, Date)))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
Try
Me.TfattureTableAdapter.FillBy_dal1_al1(Me.MessinaDataSet2.Tfatture, New System.Nullable(Of Date)(CType(DateTimePicker1.Text, Date)), New System.Nullable(Of Date)(CType(DateTimePicker2.Text, Date)))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
e fin qui tutto bene, ma appena eseguo l' altra
Cn.Open()
sql = "Delete * from Tabella1"
cmd = New OleDb.OleDbCommand(sql, Cn)
dr = cmd.ExecuteReader
Cn.Close()
Dim i As Integer
For i = 0 To Me.TddtBindingSource.Count - 1
Me.TddtBindingSource.Position = i
Me.Tabella1BindingSource.AddNew()
Me.Tabella1BindingSource.MoveLast()
DataconsegnaTextBox.Text = DATATextBox.Text
NumeroDocumentoTextBox.Text = NUMEROTextBox.Text
SerieDocumentoTextBox.Text = SERIETextBox.Text
ClienteTextBox1.Text = DITTATextBox.Text
IndirizzoTextBox1.Text = INDIRIZZOTextBox.Text
CittàTextBox.Text = CITTATextBox.Text
ProvTextBox.Text = PRTextBox.Text
CapTextBox.Text = CAPTextBox1.Text
VariazioneTextBox.Text = VARIAZIONETextBox1.Text
Telefono1TextBox.Text = TELEFONO_1TextBox.Text
Telefono2TextBox.Text = TELEFONO_2TextBox.Text
Telefono3TextBox.Text = TELEFONO_3TextBox.Text
FaxTextBox.Text = FAXTextBox1.Text
EmailTextBox.Text = E_MAIL_1TextBox.Text
TipoDocumentoTextBox.Text = TextBox1.Text
Me.Validate()
Me.Tabella1BindingSource.EndEdit()
Me.Tabella1TableAdapter.Update(Me.MessinaUtilityDataSet)
Me.Tabella1TableAdapter.Fill(Me.MessinaUtilityDataSet.Tabella1)
Tabella1DataGridView.Refresh()
Next
'-------inizio fatture---------
Dim i1 As Integer
For i1 = 0 To Me.TfattureBindingSource.Count - 1
Me.TfattureBindingSource.Position = i1
CLIENTETextBox.Text = CLIENTETextBox2.Text
Me.Tabella1BindingSource.AddNew()
Me.Tabella1BindingSource.MoveLast()
DataconsegnaTextBox.Text = DATATextBox1.Text
TipoDocumentoTextBox.Text = TextBox2.Text
NumeroDocumentoTextBox.Text = NUMEROTextBox1.Text
ClienteTextBox1.Text = DITTATextBox.Text
IndirizzoTextBox1.Text = INDIRIZZOTextBox.Text
CittàTextBox.Text = CITTATextBox.Text
ProvTextBox.Text = PRTextBox.Text
CapTextBox.Text = CAPTextBox1.Text
VariazioneTextBox.Text = VARIAZIONETextBox1.Text
Telefono1TextBox.Text = TELEFONO_1TextBox.Text
Telefono2TextBox.Text = TELEFONO_2TextBox.Text
Telefono3TextBox.Text = TELEFONO_3TextBox.Text
FaxTextBox.Text = FAXTextBox1.Text
EmailTextBox.Text = E_MAIL_1TextBox.Text
Me.Validate()
Me.Tabella1BindingSource.EndEdit()
Me.Tabella1TableAdapter.Update(Me.MessinaUtilityDataSet)
Me.Tabella1TableAdapter.Fill(Me.MessinaUtilityDataSet.Tabella1)
Tabella1DataGridView.Refresh()
Next
mi ritorna questo errore
1024x768
134Kb
Da premettere che su XP mi funziona correttamente.
Qualcuno sa darmi qualche sapiegazione?
Distinti Saluti Fabio Messina
darkeric
Profilo
| Senior Member
211
messaggi | Data Invio:
gio 19 ago 2010 - 12:52
[B]Cn.Open()
sql = "Delete * from Tabella1"
cmd = New OleDb.OleDbCommand(sql, Cn)
dr = cmd.ExecuteReader[/B]
Cn.Close()
credo che se la connessione rimane aperta il problema sia limitato a questo passaggio
ma è troppo generico servono i dettagli
Salvadj
Profilo
| Newbie
9
messaggi | Data Invio:
gio 19 ago 2010 - 17:45
Ciao
Quoto darkeric sarebbe meglio qualche dettaglio in più.
Che db usi access?
Posta la stringa di connesione potrebbe essere lei la colpevole.
Attualmente uso sqlserver che non da prob. da nessuna parte.
In passato usavo access e avevo problemi a passare da un s.o. all'altro.
facxci sapere ciao.
(CTRL+C) AND (CTRL+V) ovvero le basi della programmazione!!!
jekisi
Profilo
| Senior Member
460
messaggi | Data Invio:
ven 20 ago 2010 - 09:29
La stringa di Connessione è la seguente:
Public ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Program Files\Messina Utility\MessinaUtility.mdb"
e sul vista ora mi da un altro errore sempre in quel punto, cioè:
1024x768
123Kb
Riprovo a controllare in quale cartella è posizionato il Db.
Mi sembra molto strano il fatto che su Xp funzioni e su Vista mi sta dando un casino di problema.
Distinti Saluti Fabio Messina
darkeric
Profilo
| Senior Member
211
messaggi | Data Invio:
ven 20 ago 2010 - 10:11
Se il Db viene letto, non è un problema di percorso
hai provato a vedere se il file *.mdb è stato copiato in sola lettura?
hai provato a far partire l'applicazione in modalità compatibile XP sp3?
prova! e facci sapere!
Salvadj
Profilo
| Newbie
9
messaggi | Data Invio:
ven 20 ago 2010 - 17:11
Il provider OLEDB va bene per le versioni 2000/2003 di access, siccome Vista usa le librerie di access 2007 per la gestione di quei db cambia provider.
Usa Microsoft.ACE.OLEDB.12.0
Se hai installato office 2007 quel componente lo possiedi già e devi solo referenziarlo altrimenti scaricalo da qui:
http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=7554f536-8c28-4598-9b72-ef94e038c891
quindi:
Dim Conn as new ADODB.Connection
Conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & PercorsoFile & "\" & NomeFile & ";Persist Security Info=false;"
Conn.Open
esegui le azioni sul db
e poi
Conn.close
Cmq creati un nuovo progetto che esegua delle operazioni elementari sul db in modo tale che non sporchi quello dell'applicazione che stai creando.
Fai delle prove e facci sapere.
Ciao
(CTRL+C) AND (CTRL+V) ovvero le basi della programmazione!!!
darkeric
Profilo
| Senior Member
211
messaggi | Data Invio:
ven 20 ago 2010 - 17:24
<connectionStrings>
<add name="Pizzeria2.My.MySettings.DBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
Perdonami Salvadj
una stringa di connessione come quella sopra a me funziona benissimo su tutti i SO compreso Windows 7
con installato Office 2003
jekisi
Profilo
| Senior Member
460
messaggi | Data Invio:
dom 22 ago 2010 - 08:43
io ho fatto così all' esecuzione di una query:
Dim conn As New OleDb.OleDbConnection
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= c:\prova per vista\databaseprova.mdb;Persist Security Info=false;"
Cn.Open()
sql = "Delete * from Tabella1"
cmd = New OleDb.OleDbCommand(sql, Cn)
dr = cmd.ExecuteReader
Cn.Close()
Me.Tabella1TableAdapter.Fill(Me.DatabaseprovaDataSet.Tabella1)
Da premettere che il db, in access, l' ho convertito al 2003.
Boh!!! vediamo che nasce, lo provo in Vista e vi faccio sapere.
Grazie sempre
jekisi
Profilo
| Senior Member
460
messaggi | Data Invio:
dom 22 ago 2010 - 17:35
Ragazzi, finalmente mi sa che ci siamo:
Dim conn As New OleDb.OleDbConnection
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= c:\prova per vista\databaseprova.mdb;Persist Security Info=false;"
Cn.Open()
sql = "Delete * from Tabella1"
cmd = New OleDb.OleDbCommand(sql, Cn)
dr = cmd.ExecuteReader
Cn.Close()
Me.Tabella1TableAdapter.Fill(Me.DatabaseprovaDataSet.Tabella1)
Almeno la bozza funziona, ora modifico il programma che sto facendo e vi faccio sapere.
Distinti Saluti Fabio Messina
Salvadj
Profilo
| Newbie
9
messaggi | Data Invio:
mar 24 ago 2010 - 18:06
Ok aspettiamo
(CTRL+C) AND (CTRL+V) ovvero le basi della programmazione!!!
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 !