ExecuteReader: Connection 属性尚未初始化。谁帮我啊!!!高手救我啊!!!

liangxinlove 2012-06-01 04:45:02
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sms_connstr = System.Configuration.ConfigurationManager.AppSettings["SMS_dbconn"];
// 建立连接
sms_conn = new SqlConnection(sms_connstr);
sms_conn.Open();
}

}
protected void Button1_Click(object sender, EventArgs e)
{
string str_pwd = this.mypassword.Text.Trim().Replace("'", "''");
string sqlstr = "select usertype from Users where username='"+username.Text+"'and mypassword=@password";
SqlCommand cmd = new SqlCommand(sqlstr,sms_conn);
cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar,50));
cmd.Parameters["@password"].Value = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd, "MD5").ToString();//密码加密

SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read() == true)
{
Session["user"] = this.username.Text.Trim();//管理员用户,Session进行传值
Session["type"] = dr["userType"].ToString().Trim();//管理员类型
FormsAuthentication.RedirectFromLoginPage(username.Text, false);
//sms_conn.Close();
}
else
{
sms_conn.Close();
mypassword.Text = "您必须输入有效的用户名和密码!";
}

}
...全文
377 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangxinlove 2012-06-03
  • 打赏
  • 举报
回复
谢谢各位大侠了,嘿嘿!!!我已经解决了,后来按六楼的方法该对了,嘻嘻!!!
MSDNXGH 2012-06-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

请确保你连接数据库的字符串是正确的,并且已经正常读取
应该是con对象的ConnectionString 属性是空的.你把你数据库的连接字符串赋给这个属性试下.
con.ConnectionString = 你的连接字符串;这句写在Open()之前

在WEB.CONFIG的字符串连接
<connectionStrings>
<add name="Connec……
[/Quote]
一般都是连接字符串出错了
jdc71264 2012-06-02
  • 打赏
  • 举报
回复
鼠标点到实例化Connection那里,按下F9(下个断点),然后在按F5(启动调试),然后在F11(单步调试),问题应该是出在Connection实例化的时候 ConnectionString是空值,也就是说
SqlConnection sms_conn = new SqlConnection(sms_connstr);
你的这句代码里面的sms_connstr这个变量是空的,然后做如下调整,测试下:

SqlConnection sms_conn = new SqlConnection("Data Source=10.1.129.36;Initial
Catalog=AMS_DB2007;User ID =sa;password =Me$W9z");//这里不写变量,直接写死代码,也就是把你config里面的连裤字符串拿到这里来再看看

然后你再看看
liangxinlove 2012-06-01
  • 打赏
  • 举报
回复
jrsnd:亲,按你的改了,可是还是不行,又出现错误了,说是Fill: SelectCommand.Connection 属性尚未初始化。怎么办啊!!!
liangxinlove 2012-06-01
  • 打赏
  • 举报
回复
亲,我移过去了,还是提示那个错误啊!!!怎么办?有没有高手愿意远程行下我啊!!!我QQ1205001134
落日赌城 2012-06-01
  • 打赏
  • 举报
回复
SqlCommand cmd = new SqlCommand();
SqlDataAdapter sd=new SqlDataAdapter(cmd)
DataSet ds=new DataSet();
sd.Fill(ds);
Session["type"] = ds.Tables[0].Rows[0]["userType"].ToString().Trim();//管理员类型


--SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read() == true)-- 这些去了,换成上面的


jdc71264 2012-06-01
  • 打赏
  • 举报
回复
我告诉你吧,你把pageload里面实例化connection的代码挪到click里面去 就好了
liangxinlove 2012-06-01
  • 打赏
  • 举报
回复
SqlConnection sms_conn = new SqlConnection(sms_connstr);改了这句还是错的啊!!!
555555555555555555555
落日赌城 2012-06-01
  • 打赏
  • 举报
回复
SqlConnection sms_conn = new SqlConnection(sms_connstr);
liangxinlove 2012-06-01
  • 打赏
  • 举报
回复
什么意思啊?看不太明白。。。。
web.config中代码是:
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
是不是有错???
  • 打赏
  • 举报
回复
请确保你连接数据库的字符串是正确的,并且已经正常读取
应该是con对象的ConnectionString 属性是空的.你把你数据库的连接字符串赋给这个属性试下.
con.ConnectionString = 你的连接字符串;这句写在Open()之前

在WEB.CONFIG的字符串连接
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=10.1.129.36;Initial

Catalog=AMS_DB2007;User ID =sa;password =Me$W9z" providerName="System.Data.SqlClient"/>
</connectionStrings>


页面程序中读取:
string strConn = System.Configuration.ConfigurationManager.ConnectionStrings

["ConnectionString"].ConnectionString;
liangxinlove 2012-06-01
  • 打赏
  • 举报
回复
没人理我啊!!!

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧