开发者社区> 问答> 正文

ASP.NET使用SqlConnection连接MySQL?mysql

这是保存在中的连接字符串web.config:

这是连接到数据库的代码:

protected bool CheckPasswordBySqlServer(string strEmail, string strPsw) { if (strEmail.ToLower() == "admin") { return false; } string str = "select id,Rank,RankEnc,ParentUser,Company from tbl_User where userName=@UserName and password1=@password"; private string strConn = ConfigurationManager.AppSettings["conn"].ToString(); SqlConnection sqlConnection = new SqlConnection(strConn); bool flag = false; try { try { sqlConnection.Open(); SqlCommand sqlCommand = new SqlCommand(str, sqlConnection); sqlCommand.Parameters.AddWithValue("UserName", strEmail); sqlCommand.Parameters.AddWithValue("Password", strPsw); SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); if (!sqlDataReader.Read()) { flag = false; } else { this.Session["UserName"] = strEmail; this.Session["Password"] = strPsw; this.Session["LoginType"] = "Group"; this.Session["FullName"] = sqlDataReader["Company"].ToString(); if (FormsAuthentication.HashPasswordForStoringInConfigFile(string.Concat(strEmail, (char)43, sqlDataReader["Rank"].ToString()).ToLower(), "MD5") != sqlDataReader["RankEnc"].ToString().Trim()) { flag = false; } this.Session["ClientID"] = sqlDataReader["id"].ToString(); this.Session["MyLanguage"] = base.Request.Cookies["Language"].Value; this.Session["ParentUser"] = sqlDataReader["ParentUser"].ToString().Trim(); this.Session["Rank"] = sqlDataReader["Rank"].ToString(); this.Session["strConnection"] = this.strConn; flag = true; } sqlDataReader.Close(); } catch (Exception exception) { this.SetlblInfoHtml(exception.Message); } } finally { sqlConnection.Close(); } return flag; } 但是它无法连接MySQL,并返回以下错误:

System.ArgumentException: Keyword not supported: 'driver'. at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value) at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at System.Data.SqlClient.SqlConnection..ctor(String connectionString) at Source_LoginFrm.CheckPasswordBySqlServer(String strEmail, String strPsw) at Source_LoginFrm.btnLogin_Click(String strLang) 是否可以使用SqlConnection连接MySQL数据库?

展开
收起
保持可爱mmm 2020-05-17 20:12:57 1202 0
1 条回答
写回答
取消 提交回答
  • SqlConnection适用于SQL Server。您需要MySqlConnection-这不是.NET Framework的一部分,因此您必须下载它并在项目中引用它。然后,您可以创建一个MySqlConnection对象并在您的应用程序中连接到MySQL:

    MySqlConnection connection = new MySqlConnection(myConnString); 您还必须使用MySqlCommand对象而不是SqlCommand对象。

    http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlconnection.html来源:stack overflow

    2020-05-17 20:13:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像