| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:C#棘手问题,请大神帮忙
只看楼主 加入收藏
gaopan_2009
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-11-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
C#棘手问题,请大神帮忙
             conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    //用参数化查询方法查询数据库中的数据
                      = "select (*)from Table_1 where UserName =@UserName";
                    cmd.Parameters.Add(new SqlParameter("UserName",txtusername));
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                     
                        if (reader.Read())
这个程序跑到红色字体程序时,会出现下面情况:                       
不存在从对象类型 System.Windows.Forms.TextBox 到已知的托管提供程序本机类型的映射。
这个问题怎么解决??


 private void 登陆_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(@"Server =.\SQLEXPRESS;AttachDBFilename
             =C:\Users\Administrator\Desktop\c\登陆界面1\登陆界面\登陆界面\Database1.mdf;
            Integrated Security =true;User instance = true"))
            //通过这个类连接SQL数据库
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    //用参数化查询方法查询数据库中的数据
                      = "select (*)from Table_1 where UserName =@UserName";
                    cmd.Parameters.Add(new SqlParameter("UserName",txtusername));
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                     
                        if (reader.Read())
                        {
                            int errortime = reader.GetInt32(reader.GetOrdinal("Errortimer"));
                            if (errortime > 3)
                            {
                                Console.WriteLine("错误次数过多");
                                return;
                            }
                            string dbpassword = reader.GetString(reader.GetOrdinal("Password"));
                            if (dbpassword == txtpassword.Text)
                            {
                                MessageBox.Show("登陆成功");
                                errortime = 0;
                            }
                            else
                            {
                                IncErrorTimers();
                                MessageBox.Show("登陆失败");
                            }
                        }
                        else
                        {
                           MessageBox.Show("用户名不存在");
                        }
                    }
                }
            }
        }

        private void 重置_Click(object sender, EventArgs e)
        {
            txtusername.Clear();
            txtpassword.Clear();
        }

    }
}
完整程序

[ 本帖最后由 gaopan_2009 于 2012-11-27 17:05 编辑 ]
搜索更多相关主题的帖子: 查询 数据库 where 
2012-11-26 22:11
librayg
Rank: 2
等 级:论坛游民
帖 子:35
专家分:42
注 册:2010-12-1
收藏
得分:5 
那个能不能把你的代码完整的贴上来,你这个给我感觉是TextBox的Name你是不是改掉了?
2012-11-27 11:11
ainiak110
Rank: 2
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-10-31
收藏
得分:5 
SqlDataReader reader = cmd.ExecuteReader()

直接这样写
2012-11-27 13:30
shangsharon
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
威 望:7
帖 子:221
专家分:1261
注 册:2012-3-25
收藏
得分:5 
我觉得你应该是直接把 txtusername对象(类型为:System.Windows.Forms.TextBox)当作了txtusername.Text 而赋值给了SqlParameter.
2012-11-27 15:02
gaopan_2009
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-11-7
收藏
得分:0 
回复 3楼 ainiak110
直接这样写也不行
2012-11-27 16:53
gaopan_2009
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-11-7
收藏
得分:0 
回复 2楼 librayg
是改了,改成txtusername
2012-11-27 17:07
快速回复:C#棘手问题,请大神帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049664 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved