PDA

View Full Version : aiuto per visual studio 2005


sioux83
10-07-2007, 09:43
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.

sioux83
10-07-2007, 10:34
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

sioux83
10-07-2007, 11:09
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 :)

sioux83
11-07-2007, 09:15
sto facendo un progetto form:

in pratica devo fare una finestra di login ke si connette ad un database msql

sioux83
11-07-2007, 10:39
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

0rph3n
11-07-2007, 10:56
forse perchè il codice che aveva postato RaouL era in C# e il tuo progetto è in VB.NET? :fagiano:

sioux83
11-07-2007, 11:01
si hai ragione:doh: ...quindi?

0rph3n
11-07-2007, 11:21
ma hai provato almeno a capire che differenze ci sono tra l'uno e l'altro?
dai vedrai che non è difficile!

sioux83
11-07-2007, 11:56
posso usare l'aiuto del pubblico?

0rph3n
11-07-2007, 13:33
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

sioux83
12-07-2007, 10:09
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

sioux83
12-07-2007, 12:01
aiutatemi ragazzi :muro: :cry: :cry:

sioux83
13-07-2007, 09:03
ragazziiiiiiiiiiiiiii vi pregoooooo:cry: :cry: :cry: :cry:

sioux83
16-07-2007, 09:43
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.

sioux83
16-07-2007, 10:55
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

cionci
16-07-2007, 11:24
Ma una ricerchina su Google ? :D

http://www.vbmysql.com/articles/vbnet-mysql-tutorials/

sioux83
16-07-2007, 11:39
nn ci sto a capì più niente:cry: :cry: :cry: :cry:

cionci
16-07-2007, 11:40
Ma l'hai visto il link al tutorial che ti ho postato ?

sioux83
16-07-2007, 11:43
si ma credimi sto sclerando :cry: :cry: :cry:

cionci
16-07-2007, 11:45
E perché ? Lì c'è scritto tutto...basta avere la pazienza di leggersi quelle 7 paginette ;)

sioux83
16-07-2007, 11:46
ma nn mi puoi dare un aiuto pratico ???xfavore:cry:

cionci
16-07-2007, 11:52
Non posso anche perché non conosco .Net e soprattutto VB.Net...

0rph3n
16-07-2007, 12:45
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!

sioux83
17-07-2007, 07:04
ragazzi mi serve urgentemente xfavore un aiuto pratico vi prego:muro: :muro: