我收到了这个错误:
无法将类型字符串隐式转换为System.Data.SqlClient.SqlConnection
这是我的C#代码。
protected void Button1_Click(object sender, EventArgs e)
{
//login button
SqlConnection sqlConn = "Your Conncetion String"; //The error is here
sqlConn.Open();
SqlCommand sqlComm = new SqlCommand();
sqlComm.CommandText = String.Format("select * from users where userName=@userName and password=@password");
sqlComm.Parameters.AddWithValue("@userName", TextBox1.Text.Trim());
sqlComm.Parameters.AddWithValue("@password", TextBox2.Text.Trim());
sqlComm.CommandType = CommandType.Text;
sqlComm.Connection = sqlConn;
SqlDataReader sqlRead = sqlComm.ExecuteReader();
if (sqlRead.Read())
{
Session["username"] = sqlRead["username"];
}
// SqlRead.Close();
//sqlConn1.Close();
Response.Redirect("Default.aspx");
}
有人可以解释这个错误的含义以及解决方法吗?
答案 0 :(得分:5)
我知道你有一个连接字符串,想要一个SqlConnection
对象。您可以使用其构造函数之一:
string connString = "Your Conncetion String"; // valid connection string
var sqlConn = new SqlConnection(connString);
最好使用using
关键字,因为这会正确关闭连接。您还应该using
使用SqlReader
。
using (var sqlConn = new SqlConnection(connString))
{
sqlConn.Open();
// the rest of the code
}
答案 1 :(得分:1)
更改强>
SqlConnection sqlConn = "Your Conncetion String";
要强>
SqlConnection sqlConn = new SqlConnection("Your Conncetion String");
答案 2 :(得分:0)
应该是
SqlConnection sqlConn = new SqlConnection("Your Conncetion String");
您可以从web.config
中阅读SqlConnection sqlConn = new
SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
现在出现此错误当前上下文中不存在名称“ConfigurationManager”
您必须添加对System.Configuration.dll
然后将using System.Configuration;
添加到您的班级。
您现在可以像这样访问您的配置文件:
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;