未将对象引用设置到对象的实例

NetX行者 2009-04-28 08:51:31
protected void Page_Load(object sender, EventArgs e)
{
string userName = Request.Form["txtUserName"].ToString();
string userPwd = Request.Form["txtUserPwd"].ToString();

SqlConnection con = new SqlConnection("server=.;database=Login;uid=sa;pwd=123;");
con.Open();
SqlCommand cmd = new SqlCommand("select count(*) from login where userName='" + userName + "' and userPwd='" + userPwd + "'", con);

int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
Response.Redirect("main.aspx");
}
else
{
Response.Redirect("loginFail.htm");
}
}


调试时出现如下错误:
未将对象引用设置到对象的实例

怎么解决???~~~~
...全文
124 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphi_new 2009-04-28
  • 打赏
  • 举报
回复
未创建对象
NetX行者 2009-04-28
  • 打赏
  • 举报
回复
这弄的这个是跟着视频教程一步一步来弄的,,因刚学.net,,,视频里是运行得的,,,
Sysping1 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 llyfe2006 的回复:]
这行
string userName = Request.Form["txtUserName"].ToString();
[/Quote]
那肯定是Request.Form 没有txtUserName这个键,就是Request.Form["txtUserName"].= null
陌上花花 2009-04-28
  • 打赏
  • 举报
回复
帮顶下。
dengyigeqingtian 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jy02349551 的回复:]
Request.Form 是获取Form 提交的信息。不能在Load里面调用吧!
[/Quote]
应该是这位说的这个原因吧
你是要做登录吗?怎么在 Page_Load里写呢?页面加载的时候那两个文本框肯定什么都没有啊,用户都没输东西
NetX行者 2009-04-28
  • 打赏
  • 举报
回复
不是服务器控件
NetX行者 2009-04-28
  • 打赏
  • 举报
回复
我直接这样写也错 也是一样的错误

protected void Page_Load(object sender, EventArgs e)
{
string userName = Request.Form["txtUserName"].ToString();
string userPwd = Request.Form["txtUserPwd"].ToString();

Response.Write("用户名:" + userName);
Response.Write("密码:" + userPwd);

}
dengyigeqingtian 2009-04-28
  • 打赏
  • 举报
回复
你这ID为txtUserName的不是服务器控件吧....
不懂 2009-04-28
  • 打赏
  • 举报
回复
Request.Form 是获取Form 提交的信息。不能在Load里面调用吧!
sucong 2009-04-28
  • 打赏
  • 举报
回复
mzr_cj 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 JonasFeng 的回复:]
int count = Convert.ToInt32(cmd.ExecuteScalar());

这行有问题的。
不能这么直接写。


改下就可以了。一般加个判断,是否返回NULL
[/Quote]

按这个改.
JonasFeng 2009-04-28
  • 打赏
  • 举报
回复
int count = Convert.ToInt32(cmd.ExecuteScalar());

这行有问题的。
不能这么直接写。


改下就可以了。一般加个判断,是否返回NULL
NetX行者 2009-04-28
  • 打赏
  • 举报
回复
是在本机的啊
NetX行者 2009-04-28
  • 打赏
  • 举报
回复
这行
string userName = Request.Form["txtUserName"].ToString();
chessman_mak 2009-04-28
  • 打赏
  • 举报
回复
Convert.ToInt32(cmd.ExecuteScalar()); 我猜是你這句出錯? 是吧??

應該是你CMD返回的值為NULL或者是空字符串...

string str = Convert.ToString(objcmd.ExecuteScalar());
if (str != "")//这样没有值或者值为空的两种情况都考虑了
id = Convert.ToInt16(str);


Convert.ToString方法如果传入参数为Null,是不会出错的,返回空字符串。但Convert.ToInt16方法的参数如果为Null或者空字符串是会出错的。


我記得英文是什麼了.. 是 Object reference not set to an instance of an object


哈哈.. 希望這能幫你..
chessman_mak 2009-04-28
  • 打赏
  • 举报
回复
ER... 為何server裡面沒設定?

("server=.; ???


另外.. 應該建成良好習慣..用完就關閉.. con.close();


你這個問題..在CSDN中以前的帖子有出現過.. 不過人家"未将对象引用设置到对象的实例 "這句是用英文的.呵呵.. 好像是object .... can not .... instance .. 什麼的..

llainn 2009-04-28
  • 打赏
  • 举报
回复
哪行?

62,268

社区成员

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

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

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

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