C#连接数据库错误

时间:2017-06-21 00:57:34

标签: c# sql sql-server login database-connection

我在尝试连接数据库时遇到了一个问题。该数据库应该允许远程连接,但由于某种原因它不允许连接。

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");
    }
}
}

注意: ### WEBSITE ###实际上并不存在,我删除了网站的名称。 错误来自第31行(con.Open();) 我使用本地数据库进行了修改,并在“localhost”作为域

时遇到了同样的错误

我知道我的连接方法也不完全理想。我真的需要帮助,因为我很难过并且感谢任何帮助!

4 个答案:

答案 0 :(得分:0)

我认为您必须添加UserId和密码..

查看here连接字符串

答案 1 :(得分:0)

不使用您的数据源:3306; ,请尝试使用数据您的数据源,3306;

答案 2 :(得分:0)

首先,请务必使用"使用"当对象支持IDisposable接口时,如下所示的语句:

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

这可以确保您在块中创建的所有对象都已正确处理(包括您的连接,数据库管理员会找到您)。

其次,确保"数据源"设置为" Server"而是"初始目录"设置为数据库。

" Server = myServerAddress; Database = myDataBase; User Id = myUsername; 密码= MYPASSWORD;"

请参阅:https://www.connectionstrings.com/sql-server/

希望这可以帮助您建立联系。

答案 3 :(得分:0)

对于遇到此问题的其他人,我决定使用PHP从数据库中读取数据。

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

然后使用webBrowser1.Document.TextContains检查数据是否正确