Essayer de remplir Combobox avec les données d'une base de données et j'utilise ExecuteReader comme ci-dessous, mais lorsque je tente d'instancier ma connexion il me montre l'erreurImpossible implicitement erreur de type de conversion
Impossible de convertir implicitement erreur de type
Mon DBConnect code de classe:
public class DBConnect
{
private SqlConnection connection;
private string servername = "10.1.76.109,1433";
private string database = "EngLib";
private string dbuser;
private string userpassword;
public DBConnect()
{
}
public void doDBConnect(string dbuserform, string userpasswordform)
{
dbuser = dbuserform;
userpassword = userpasswordform;
}
public void Initialize()
{
}
public bool openConnection()
{
string connectionString;
connectionString = "Server=" + servername + ";Database=" + database + ";user id=" + dbuser + ";Password=" + userpassword;
Console.WriteLine(connectionString);
connection = new SqlConnection(connectionString);
try
{
connection.Open();
return true;
}
catch (SqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("Não é possível contactar o servidor. Entre em contato com o administrador");
break;
case 18456:
MessageBox.Show("Usuário/Senha inválidos, tente novamente");
break;
}
return false;
}
}
Ma forme de code:
{
public Form2()
{
InitializeComponent();
}
public void Form2_Load(object sender, EventArgs e)
{
SqlDataReader rdr = null;
DBConnect sqlConnection;
sqlConnection = new DBConnect();
sqlConnection.doDBConnect(dbuserform: "usertest", userpasswordform: "usertest");
{
try
{
{
sqlConnection.openConnection();
SqlCommand sqlCmd;
sqlCmd = new SqlCommand("SELECT Material FROM EngLib");
sqlCmd.Connection = sqlConnection;
SqlDataReader sqlReader = sqlCmd.ExecuteReader();
while (sqlReader.Read())
{
comboBox1.Items.Add(sqlReader["Material"].ToString());
}
sqlReader.Close();
}
}
finally
{
// close the reader
if (rdr != null)
{
rdr.Close();
}
}
}
}
}
L'utilisateur et le mot de passe dans le code sont temporaires.
Pourriez-vous s'il vous plaît supprimer le code non pertinent? Veuillez indiquer la ligne qui affiche l'erreur et inclure uniquement les extraits associés. Merci –
Hors du thème - vous devez TOUJOURS fermer/disposer de vos connexions à la base de données – MikkaRin
Avez-vous vraiment besoin de cette classe qui ne pose que des problèmes que vous n'auriez pas si vous créiez la connexion là où vous l'utilisiez, mieux en utilisant l'instruction 'using'-? D'autres choses parlent contre l'utilisation d'une classe DB. http://stackoverflow.com/a/9707060/284240 –