c#连接sql数据库,界面登录失败,求解,急急急!

XWZ2048 2014-07-22 02:25:40
这是本人部分代码截图和登录失败图,就是登不上去,希望精通的人可以给点指教到底哪里出问题了,谢谢!
...全文
800 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨何方 2014-07-23
  • 打赏
  • 举报
回复
你的登陆界面建议: 服务器: 用户名: 密码 服务器连接时最好用IP,如果是本机就用127.0.0.1 如果只是单机使用,那就可以省去服务器的输入,直接把127.0.0.1写到程序里封装。 用户名是数据库表中用户表的一个用户名称 密码也是数据库表中用户表的一个密码 在C#时的代码无外乎就是: 一,连接数据库 二,读取用户表,判断用户提供的用户名及密码是否与数据库中的相符,如果相符,就OK,否则弹出对话框提示报错。 在你的这个登陆界面中,好象用户名你输成了SQL的用户名了吧..... 不过,我看得有点晕。 希望这个建议对你有用。
InSpirit1 2014-07-23
  • 打赏
  • 举报
回复
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.Opacity = 1;
        }

        //登陆
        private void button1_Click(object sender, EventArgs e)
        {
            /* 
             点击button后验证用户名与密码的权限,弹出新的form并隐藏当前form*/
            string user;
            string password;
            user = textBox1.Text;
            password = textBox2.Text;

            string connect = "Database=test;server=localhost;User Id=root;Password=root;";
            MySqlConnection conn = new MySqlConnection(connect);
            string selectquery = "select count(*)from user where username='" + user + "' and password='" + password + "'";
            MySqlCommand cmd = new MySqlCommand(selectquery, conn);

            try
            {
                conn.Open();
            }
            catch (MySqlException ex)
            {
                switch (ex.Number)
                {
                    case 0:
                        MessageBox.Show("无法连接到服务器,请联系管理员"); break;
                    case 1045:
                        MessageBox.Show("服务器用户名/密码错误, 请确认数据库信息或联系管理员"); break;
                }
            }

            int b = 0;
            b = Convert.ToInt32(cmd.ExecuteScalar());
            if (b == 1)  //ExecuteNonQuery只适用于update insert delete,返回的是受影响的行数
            {
                this.Opacity = 0;
                Form2 frm = new Form2();//首先实例化
                frm.Show();//Show方法
            }
            else MessageBox.Show("用户名/密码错误!");
            conn.Close();
        }

        //退出按钮
        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        
    }
这是我写的登陆界面,也是连接mysql,从表中检索用户登陆信息的,供参考
Mo_DeNo 2014-07-23
  • 打赏
  • 举报
回复
引用 14 楼 XWZ2048 的回复:
改了数据库的登录名和密码,在调试显示用户名或密码错误,这次是连接上的意思吗,可是连接上了用户名和密码怎么有会出错呢????谢谢
如果LZ实在不知道怎么写连接字符呢,有个简单的办法可以参考,你直接点菜单里的工具,里面有个连接到数据库选项,直接点它,然后会弹出一个数据库连接的界面,在里面把东西填全了,然后点测试连接,知道成功为止。然后点确定。在左侧会多一个服务器资源管理器的选项卡,打开,点选刚刚添加的连接,按F4,可以看到一个属性是连接字符串,直接复制这个就行了。但是他的密码是星号,所以你要替换成你刚刚输入正确密码。这样连接字符串就好了。
d8238882 2014-07-23
  • 打赏
  • 举报
回复
引用 14 楼 XWZ2048 的回复:
改了数据库的登录名和密码,在调试显示用户名或密码错误,这次是连接上的意思吗,可是连接上了用户名和密码怎么有会出错呢????谢谢
你的登录用户名和密码是放在表中么。登录数据库和登录软件的用户名和密码你是不是搞混淆了啊
瘦马 2014-07-23
  • 打赏
  • 举报
回复
非常明显,是数据库连接用户名错了,换成sa 和其密码看看
Mo_DeNo 2014-07-22
  • 打赏
  • 举报
回复
我觉得是sql的连接失败了,因为你的messagebox中没有定义目前弹出的这个信息,而且你sql的login name也恰好是name。很容易混淆啊。你试试别的用户登录,估计也是这个错误。
XWZ2048 2014-07-22
  • 打赏
  • 举报
回复
知道了,我再根据大家的意见调试一下,谢谢
於黾 2014-07-22
  • 打赏
  • 举报
回复
sql语句先放数据库里执行一下再说 不知道哪里出问题就一步一步跟啊 不会调试,你怎么编代码
道玄希言 2014-07-22
  • 打赏
  • 举报
回复
断点跟踪,看程序是在哪里出错的。 仍然断点跟踪到你登录验证的查询语句,然后自己拷贝出那个语句,放到SQL查询分析器里面执行,看查询结果是否正确。 不知道你数据库保存密码的字段,是什么格式的,如果你密码字段为varbinary(200)格式,则查询时还需要加密后才行的,直接传入是查询不到的。
taylor-yang 2014-07-22
  • 打赏
  • 举报
回复
数据库连接成功,那就是你程序的问题了,你确定数据表字段里存的用户名是name这个字符串么,很明显提示用户名或密码错误是你程序判断的,那就说明是你输入的用户名或密码不对。再次检查表里的用户名和密码字段存的字符串。
XWZ2048 2014-07-22
  • 打赏
  • 举报
回复
改了数据库的登录名和密码,在调试显示用户名或密码错误,这次是连接上的意思吗,可是连接上了用户名和密码怎么有会出错呢????谢谢
XWZ2048 2014-07-22
  • 打赏
  • 举报
回复
原来真的是弄混了,改成数据库的sa和密码,再登陆显示用户名和密码错误,是连上数据库的意思吗,连上了怎么用户名密码错误呢?谢谢
XWZ2048 2014-07-22
  • 打赏
  • 举报
回复
@luyaoapp我试试这个意见,原来是这样。。。。。
taylor-yang 2014-07-22
  • 打赏
  • 举报
回复
引用 7 楼 XWZ2048 的回复:
我觉得连上了。。。。。还请大神们指教一下
首先确保你的程序与数据库成功建立连接。打个断点调试下就知道怎么回事了,如果是数据库连接出错,代码会进catch{}块,你可以调试下试试
谷龙飞 2014-07-22
  • 打赏
  • 举报
回复
引用 8 楼 luyaoapp 的回复:
[quote=引用 2 楼 XWZ2048 的回复:] 确定,创建了一个数据库表里面就是用户名和密码,也连上了,找不出哪里出问题了
你好像把数据表里存的用户名密码和数据库的登录名密码搞混了。数据库的登录名密码是指数据库引擎服务器本身的登录名密码,也就是在你安装数据库时设置的用户名密码。一般默认用户名为sa 密码自己设置。你写的程序的登录名密码是你自己在数据表里写入的字段值。这两个是不同的概念,不要搞混。[/quote] 这位应该说对了 你数据库的登录名和密码 和 你数据库登录表里的字段的登录名和密码 是不是混淆了
谷龙飞 2014-07-22
  • 打赏
  • 举报
回复
你的 用户name登录失败 是在哪一段代码输出的? 你数据库里的那个表名叫 '登录'?
taylor-yang 2014-07-22
  • 打赏
  • 举报
回复
引用 2 楼 XWZ2048 的回复:
确定,创建了一个数据库表里面就是用户名和密码,也连上了,找不出哪里出问题了
你好像把数据表里存的用户名密码和数据库的登录名密码搞混了。数据库的登录名密码是指数据库引擎服务器本身的登录名密码,也就是在你安装数据库时设置的用户名密码。一般默认用户名为sa 密码自己设置。你写的程序的登录名密码是你自己在数据表里写入的字段值。这两个是不同的概念,不要搞混。
XWZ2048 2014-07-22
  • 打赏
  • 举报
回复
我觉得连上了。。。。。还请大神们指教一下
_小黑_ 2014-07-22
  • 打赏
  • 举报
回复
确保 你能 连接上 数据库
smthgdin_020 2014-07-22
  • 打赏
  • 举报
回复
引用 2 楼 XWZ2048 的回复:
确定,创建了一个数据库表里面就是用户名和密码,也连上了,找不出哪里出问题了
连上了怎么会报这个错误?
加载更多回复(4)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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