2017-02-13 135 views
-6

试图在C#中创建登录表单,连接到SQL server。但它一直在cn.Open();上抛出异常。我为我的SQL Server使用XAMPPSqlConnection.Open抛出异常C#

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.Sql; 
using System.Data.SqlClient; 

namespace BlackLight_CSharp 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      SqlConnection cn = new SqlConnection("server=localhost;user id=root;database=blacklight_login"); 
      cn.Open(); 
      SqlCommand cmd = new SqlCommand("SELECT * FROM login WHERE Username= '"+txt_user.Text+"' AND Password = '"+txt_pass.Text+"'", cn); 
      SqlDataReader dr; 
      dr = cmd.ExecuteReader(); 
      int count = 0; 
      while (dr.Read()) 
      { 
       count += 1; 
      } 

      if (count == 1) 
      { 
       MessageBox.Show("OK"); 
       dashboard dash = new dashboard(); 
       dash.Show(); 
      } 
      else if (count > 0) 
      { 
       MessageBox.Show("Duplicate Username and Password"); 
      } 
      else 
      { 
       MessageBox.Show("Incorrect Username or Password, Try again."); 
      } 

      txt_user.Clear(); 
      txt_pass.Clear(); 
     } 
    } 
} 

下面是错误的屏幕截图,

Error 1

​​

+2

那么,什么是不清楚的例外信息?你有没有检查服务器的可用性?你的问题是什么?并且请不要在问题中使用截图。 –

+0

http://i.imgur.com/yh2c5mL.png服务器很好。我的问题是,我该如何解决这个问题? – Ace

+0

你正在使用什么样的服务器?是sqlexpress,localdb? –

回答

1

它表明你正在使用MySQL并且使用的是SqlClient支持MSSQL数据库数据提供程序更改为MySQL和使用MySql.Data.MySqlClient.MySqlConnection来代替。