2017-06-21 1 views
-1

Je continue d'avoir un problème lors de la tentative de connexion à une base de données. La base de données est supposée autoriser les connexions à distance, mais pour une raison quelconque, elle n'autorise pas la connexion.C# se connectant à l'erreur de base de données

using MetroFramework; 
using MetroFramework.Forms; 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace ###WEBSITE### 
{ 
public partial class Form1 : MetroForm 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 

    private void metroButton1_Click(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection("Data Source=###WEBSITE###.com:3306;Initial Catalog=neoncheats_mybb;Integrated Security=True"); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("select * from mybb_users where username = '" + Username.Text + "' and password = '" + Password.Text + "'", con); 
     SqlDataReader dr; 
     dr = cmd.ExecuteReader(); 
     int count = 0; 
     while (dr.Read()) 
     { 
      count += 1; 
     } 

     if (count == 1) 
     { 
      MessageBox.Show("OK"); 
      Form1 f1 = new Form1(); 
      f1.Close(); 
      Form2 f2 = new Form2(); 
      f2.Show(); 
     } 
     else if (count > 0) 
     { 
      MessageBox.Show("Duplicate username and password"); 
     } 
     else 
     { 
      MessageBox.Show("Username or Password incorrect"); 
     } 

     Password.Clear(); // Clears the password field 
    } 

    private void metroButton2_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
    } 

    private void metroLink1_Click(object sender, EventArgs e) 
    { 
     System.Diagnostics.Process.Start("http://###WEBSITE###.com/Forum/member.php?action=lostpw"); 
    } 
} 
} 

Notes: Le ### ### SITE est pas vraiment là, je ôtait le nom du site. L'erreur provient de la ligne 31 (con.Open();) J'ai une base de données en utilisant rectifiée locale et a obtenu la même erreur avec « localhost » étant le domaine

Je sais que ma méthode de connexion est pas exactement idéal ainsi que. J'ai vraiment besoin d'aide avec cela car je suis perplexe et toute aide est appréciée!

+1

Quelle erreur que vous obtenez? –

+0

Vous essayez d'utiliser ceci comme source de données "### WEBSITE ###. Com"? En réalité, la source de données ressemble à une adresse IP. Quelle erreur renvoie spécifiquement? –

+0

J'utilise un hôte Web avec un port pour diriger les données vers 3306 (port sql). Voici mon erreur: https://gyazo.com/ca59ca1f4a423a1ae6db61ef09d48666 J'ai essayé de me connecter à l'IP directe et j'ai toujours la même erreur – Thaisen

Répondre

0

Je pense que vous devez ajouter UserId et mot de passe ..

regard here pour la chaîne de connexion

+0

J'ai essayé d'utiliser un nom d'utilisateur et un mot de passe, mais malheureusement je reçois la même erreur – Thaisen

+0

L'indicateur de sécurité intégré est défini, tant que le compte existe sur les serveurs et a accès, il devrait être bon. –

0

Au lieu d'utiliser votre -datasource: 3306;, Essayez en utilisant les données Your-Datasource, 3306;

+0

Je l'ai essayé et malheureusement ça n'a pas marché – Thaisen

0

Tout d'abord, s'il vous plaît assurez-vous de toujours utiliser un « Utilisation » énoncé comme ci-dessous lorsque l'objet prend en charge l'interface IDisposable:

using (SqlConnection Conn = new SqlConnection(...)) 
{ 
    Conn.Open(); 
} 

Cela garantit tous les objets que vous avez créés alors que dans le bloc sont correctement éliminé (y compris votre connexion, vous admin DB vous trouverez). Ensuite, assurez-vous que "Source de données" est réglé sur "Serveur" et que "Catalogue initial" est défini sur base de données. "Server = myServerAddress; Database = myDataBase; ID utilisateur = myUsername; Password = myPassword;"

Voir: https://www.connectionstrings.com/sql-server/

Espérons que devrait vous aider à vous connecter.

0

Pour les autres personnes rencontrant ce problème, j'ai décidé d'utiliser PHP pour lire les données de la base de données.

https://github.com/ThaisenPM/PHP-Database-Reader

Ensuite, il suffit d'utiliser webBrowser1.Document.TextContains pour vérifier si les données sont correctes