View Full Version : aiuto per visual studio 2005
qualcuno mi sa dire come creare un collegamento ad un database mysql con viusal studio?
RaouL_BennetH
10-07-2007, 10:08
Per prima cosa hai bisogno di un connector (una dll) che può essere sia la ByteFx sia (consigliata) il mysql-connector-net che trovi sul sito di mysql (la versione 5.qualcosa)
Fatto questo, devi aggiungere nei riferimenti del tuo progetto questa dll.
Poi, nel tuo codice (in C#):
//nelle direttive di inclusione devi aggiungere anche il namespace per la dll
//per esempio
using System;
using System.Text;
using MySql.Data.MySqlClient;
namespace TestMySql
public class TuaClasse
{
//stringa per il path
private string connectionString = "database=tuo_db;server=ip_server;port=3306;user=username;password=password";
private MySqlConnection cn;
public TuaClasse();
{
}
public string GetConnectionString
{
get { return connectionString ; }
set { connectionString = value; }
}
public void SetConnection()
{
try
{
cn = new MySqlConnection(connectionString);
cn.Open();
}
catch (MySqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("Non posso connettermi con il server. Contattare l'amministratore.");
break;
case 1045:
MessageBox.Show("Nome utente o password errati. Riprovare.");
break;
default:
MessageBox.Show(ex.Message.ToString());
break;
}
}
}
public MySqlConnection Conn()
{
return cn;
}
Ovviamente è un codice di esempio.
grazie mille ora provo.da dove posso scaricare bytefx?
RaouL_BennetH
10-07-2007, 10:41
effettivamente non la trovo + neanche io... boh..
ad ogni modo puoi scaricare l'ultimo connector di mysql da qui:
http://dev.mysql.com/downloads/connector/net/5.1.html
allora ho scaricato il file ,ho aggiunto i riferimenti(spero di nn aver sbagliato)
ma quando vado ad inserire il codice mi segnala circa 48 errori
puoi aiutarmi?
RaouL_BennetH
10-07-2007, 11:50
Eccomi. Stai facendo un progetto console oppure un progetto con i form?
Ad ogni modo, posta tutto il codice che hai prodotto :)
sto facendo un progetto form:
in pratica devo fare una finestra di login ke si connette ad un database msql
Public Class Form1
using System;
using System.Text;
using MySql.Data.MySqlClient;
namespace Prova
Public Class TuaClasse
{
private string connectionString = "database=operator.frm;server=*.*.*.*;port=3306;user=Exon;password=*****";
private MySqlConnection cn;
public TuaClasse();
{
}
public string GetConnectionString
{
get { return connectionString ; }
set { connectionString = value; }
}
public void SetConnection()
{
try
{
cn = new MySqlConnection(connectionString);
cn.Open();
}
catch (MySqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("Non posso connettermi con il server. Contattare l'amministratore.");
break;
case 1045:
MessageBox.Show("Nome utente o password errati. Riprovare.");
break;
default:
MessageBox.Show(ex.Message.ToString());
break;
}
}
}
public MySqlConnection Conn()
{
return cn;
}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
end class
tt le parentesi graffe e i ; me li cosidera errore di sintassi
ho messo una psw a caso e cambio l'ip per sicurezza
forse perchè il codice che aveva postato RaouL era in C# e il tuo progetto è in VB.NET? :fagiano:
si hai ragione:doh: ...quindi?
ma hai provato almeno a capire che differenze ci sono tra l'uno e l'altro?
dai vedrai che non è difficile!
posso usare l'aiuto del pubblico?
Provo a darti una mano, facendo questo rapido confronto tra la sintassi di C# e quella di VB.NET così magari riesci a tradurre il codice di RaouL.
Spero di non incasinarti ancora di più anche perchè lo sto facendo in frettissima sto post :D
Se non ti è chiaro qualcosa (come sarà di sicuro) chiedi.
Importare uno spazio dei nomi:
C#
using SpazioDeiNomi;
VB.NET
Imports SpazioDeiNomi
Definire una classe:
C#
ModificatoreDiAccesso class NomeClasse
{
}
VB.NET
ModificatoreDiAccesso Class NomeClasse
End Class
Definire un metodo:
C#
Per definire un metodo che non restituisce valori (come le sub di VB) è sufficiente usare
void come tipo di dato di ritorno del metodo.
ModificatoreDiAccesso TipoDato NomeMetodo(ListaDeiParametri)
{
// Codice del metodo
}
VB.NET
A differenza di C# Visual Basic prevede la definizione di due diversi tipi di metodi, uno che
restituisce un valore e uno che invece non lo fa.
'Metodo che restituisce parametri
ModificatoreDiAccesso Function NomeFunction(ListaDeiParametri) As TipoDato
' Codice della function
End Function
'Metodo che non restituisce parametri
ModificatoreDiAccesso Sub NomeSub(ListaDeiParametri)
' Codice della sub
End Sub
Dichiarare una variabile:
C#
ModificatoreDiAccesso TipoDato NomeVariabile;
VB.NET
ModificatoreDiAccesso NomeVariabile As TipoDato
Gestire le eccezioni:
C#
try
{
// Codice che può generare l'eccezione.
}
catch (TipoEccezione)
{
// Codice da eseguire se viene generata l'eccezione specificata.
}
finally
{
// Codice che viene eseguito in ogni caso,
// sia che si presenti l'eccezione che non.
}
VB.NET
Try
' Codice che può generare l'eccezione.
Catch NomeVariabile As TipoEccezione
' Codice da eseguire se viene generata l'eccezione specificata.
Finally
' Codice che viene eseguito in ogni caso,
' sia che si presenti l'eccezione che non.
End Try
allora ho seguito il consiglio.Gli errori sn diminuiti in una maniera impressionante.Tuttavia ho ancora 17 errori che nn so come sistemare
Imports Microsoft
Imports Login_Msql_1
Imports System
Namespace Prova
End Namespace
Public Class Alfa
End Class
private string connectionString = "database=operator.frm;server=192.168.0.3;port=3306;user=Exon;password=310790"
private MySqlConnection cn
Public Alfa()
public string GetConnectionString
{
get { return connectionString ; }
set { connectionString = value; }
}
'Metodo che restituisce parametri
Function open(ByVal ListaDeiParametri) As'tipo dati
' Codice della function
public void SetConnection()
Try
cn = new MySqlConnection(connectionString);
cn.Open();
Catch NomeVariabile As TipoEccezione ' nome variabile? tipo eccezione?
catch (MySqlException ex)
switch(ex.Number)
case 0:
MessageBox.Show("Non posso connettermi con il server. Contattare l'amministratore.")
break;
case 1045:
MessageBox.Show("Nome utente o password errati. Riprovare.")
break;
default:
MessageBox.Show(ex.Message.ToString())
break()
Finally ' Codice che viene eseguito in ogni caso,
' sia che si presenti l'eccezione che non.
End Try
public MySqlConnection Conn()
Return cn
End Function
Errore 1 Parola chiave non valida come identificatore. 16 9 Login_Msql_1
Errore 2 Prevista fine dell'istruzione. 18 25 Login_Msql_1
Errore 3 Istruzione non valida in uno spazio dei nomi. 20 1 Login_Msql_1
Errore 4 Parola chiave non valida come identificatore. 22 8 Login_Msql_1
Errore 5 Errore di sintassi. 23 1 Login_Msql_1
Errore 6 Errore di sintassi. 24 1 Login_Msql_1
Errore 7 Errore di sintassi. 25 1 Login_Msql_1
Errore 8 Errore di sintassi. 26 1 Login_Msql_1
Errore 9 Previsto tipo. 29 41 Login_Msql_1
Errore 10 Istruzione non valida in uno spazio dei nomi. 67 1 Login_Msql_1
Errore 11 Istruzione non valida in uno spazio dei nomi. 72 1 Login_Msql_1
Errore 12 Istruzione non valida in uno spazio dei nomi. 76 1 Login_Msql_1
Errore 13 Istruzione non valida in uno spazio dei nomi. 82 1 Login_Msql_1
aiutatemi ragazzi :muro: :cry: :cry:
ragazziiiiiiiiiiiiiii vi pregoooooo:cry: :cry: :cry: :cry:
ragazzi ma proprio nessuno mi puo' aiutare?????
tomminno
16-07-2007, 09:56
ragazzi ma proprio nessuno mi puo' aiutare?????
Manca l'Import Login_Msql_1 c'è scritto chiaro e tondo negli errori.
Ho provato a sistemare gli errori e ora sn sceso a quota 7:
Imports Microsoft
Imports Login_Msql_1
Imports System
Namespace Prova
End Namespace
Public Class Alfa
End Class
private string connectionString = "database=operator.frm;server=***.***.**.*;port=3306;user=Exon;password=0000"
private MySqlConnection cn
Public Alfa()
public string GetConnectionString
get {return connectionString ; }
set { connectionString = value; }
'Metodo che restituisce parametri
Function ????? (ByVal ListaDeiParametri) As ????
public void SetConnection()
Try
cn = new MySqlConnection(connectionString);
cn.Open();
Catch NomeVariabile As TipoEccezione
catch (MySqlException ex)
switch(ex.Number)
case 0:
MessageBox.Show("Non posso connettermi con il server. Contattare l'amministratore.")
break;
case 1045:
MessageBox.Show("Nome utente o password errati. Riprovare.")
break;
default:
MessageBox.Show(ex.Message.ToString())
break()
Finally ' Codice che viene eseguito in ogni caso,
' sia che si presenti l'eccezione che non.
End Try
public MySqlConnection Conn()
Return cn
End Function
Errore 1 Parola chiave non valida come identificatore. 9 Login_Msql_1
Errore 2 Prevista fine dell'istruzione. 18 25 Login_Msql_1
Errore 3 Istruzione non valida in uno spazio dei nomi. 1 Login_Msql_1
Errore 4 Parola chiave non valida come identificatore. 23 8 Login_Msql_1
Errore 5 Errore di sintassi. 25 1 Login_Msql_1
Errore 6 Errore di sintassi. 26 1 Login_Msql_1
Errore 7 Previsto tipo. 30 42 Login_Msql_1
Ma una ricerchina su Google ? :D
http://www.vbmysql.com/articles/vbnet-mysql-tutorials/
nn ci sto a capì più niente:cry: :cry: :cry: :cry:
Ma l'hai visto il link al tutorial che ti ho postato ?
si ma credimi sto sclerando :cry: :cry: :cry:
E perché ? Lì c'è scritto tutto...basta avere la pazienza di leggersi quelle 7 paginette ;)
ma nn mi puoi dare un aiuto pratico ???xfavore:cry:
Non posso anche perché non conosco .Net e soprattutto VB.Net...
Ho provato a sistemare gli errori e ora sn sceso a quota 7:
Imports Microsoft
Imports Login_Msql_1
Imports System
Namespace Prova
End Namespace
Public Class Alfa
End Class
private string connectionString = "database=operator.frm;server=***.***.**.*;port=3306;user=Exon;password=0000"
private MySqlConnection cn
Public Alfa()
public string GetConnectionString
get {return connectionString ; }
set { connectionString = value; }
'Metodo che restituisce parametri
Function ????? (ByVal ListaDeiParametri) As ????
public void SetConnection()
Try
cn = new MySqlConnection(connectionString);
cn.Open();
Catch NomeVariabile As TipoEccezione
catch (MySqlException ex)
switch(ex.Number)
case 0:
MessageBox.Show("Non posso connettermi con il server. Contattare l'amministratore.")
break;
case 1045:
MessageBox.Show("Nome utente o password errati. Riprovare.")
break;
default:
MessageBox.Show(ex.Message.ToString())
break()
Finally ' Codice che viene eseguito in ogni caso,
' sia che si presenti l'eccezione che non.
End Try
public MySqlConnection Conn()
Return cn
End Function
Errore 1 Parola chiave non valida come identificatore. 9 Login_Msql_1
Errore 2 Prevista fine dell'istruzione. 18 25 Login_Msql_1
Errore 3 Istruzione non valida in uno spazio dei nomi. 1 Login_Msql_1
Errore 4 Parola chiave non valida come identificatore. 23 8 Login_Msql_1
Errore 5 Errore di sintassi. 25 1 Login_Msql_1
Errore 6 Errore di sintassi. 26 1 Login_Msql_1
Errore 7 Previsto tipo. 30 42 Login_Msql_1
c'è qualcosa in questo codice che mi fa pensare che tu non sia molto pratico e quando ho scritto il post dove indicavo un po' le differenze tra vb e c# non lo immaginavo.
se fosse così, prima di buttarti nell'interazione con i database sarebbe opportuno che ti imparassi le basi, perchè scrivere
Namespace Prova
End Namespace
Public Class Alfa
End Class
' codice che dovrebbe stare da n'altra parte
mi fa pensare che non sai cosa sia ne un namespace ne tantomeno na classe!
se c'avessi azzeccato ti consiglio di prenderti un tutorial di vb.net/c#/quellochevuoiimparare dargli na letta e fare qualche esercizietto che anche se sembra stupido ha il suo perchè, e poi puoi ripensare ai db!
ragazzi mi serve urgentemente xfavore un aiuto pratico vi prego:muro: :muro:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.