ASP.NET使用SqlConnection连接MySQL

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

<appSettings>

<add key="conn" value="Driver={MySQL ODBC 5.1 Driver};server=127.0.0.1;uid=root;pwd=1234;database=gis_server;option=3"/>

</appSettings>

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

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数据库?

回答:

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

以上是 ASP.NET使用SqlConnection连接MySQL 的全部内容, 来源链接: utcz.com/qa/433055.html

回到顶部