您的位置:首页 > 职场人生

黑马程序员之ADO.NET篇---1.登录界面

2012-09-03 10:06 267 查看
---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------          罗马不是一天建成的,之前的SQL基础,是因为在学校有一些本钱,学习的不困难,之后接触的ADO.NET是之前从来没有见过的,着实让人感觉让人难以入手。总记得以前对登录程序很好奇,这是怎么连接到了数据库。看过老师的视频后豁然开朗。突然觉得很有动力,不是像无头苍蝇一样,到处找视频找书看,慢慢似乎在往好的方向发展,下面是在学习中记录下来的。

            string dataDir = AppDomain.CurrentDomain.BaseDirectory;

            if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))

            {

                dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;

                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);

            }

这一段是老师说的神奇代码,程序必须经过这一段代码才能访问到数据库文件。并且这段代码必须在主程序入口之前,不然是无法访问到数据库。

 Sql Connection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Mydb.mdf;

            Integrated Security=True; User Instance=True"))//数据库连接代码

这一段是数据库连接代码,程序通过这一段代码,找到数据库的位置。然后访问。

首先需要打开数据库连接 conn.open().

之后就是在执行数据库命令。

-----------------------------下面就是一段简单的登录程序代码-----------------------------------------------------------------

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace 登录界面1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void IncErrortimes()

        {

            using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Mydb.mdf;

            Integrated Security=True; User Instance=True"))//数据库连接代码

            {

                conn.Open();

                using (SqlCommand updatecmd = conn.CreateCommand())

                {

                    updatecmd.CommandText = "update T_Users set ErrorTime=ErrorTime+1 whereUserName=@user ";

                    updatecmd.Parameters.Add(new SqlParameter("user", Txt_User.Text));

                    updatecmd.ExecuteNonQuery();

                }

            }

        }

        private void ResErrortimes()

        {

            using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Mydb.mdf;

            Integrated Security=True; User Instance=True"))//数据库连接代码

            {

                conn.Open();

                using (SqlCommand updatecmd = conn.CreateCommand())

                {

                    updatecmd.CommandText = "update T_Users set ErrorTime=0 whereUserName=@user ";

                    updatecmd.Parameters.Add(new SqlParameter("user", Txt_User.Text));

                    updatecmd.ExecuteNonQuery();

                }

            }

        }

        private void button1_Click(object sender, EventArgs e)

        {

            using(SqlConnection conn=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Mydb.mdf;

            Integrated Security=True; User Instance=True"))//数据库连接代码

            {

                conn.Open();

                using (SqlCommand cmd = conn.CreateCommand())

                {

                    cmd.CommandText = "select * from T_Users where
UserName=@user";

                    cmd.Parameters.Add(new SqlParameter("user", Txt_User.Text));

                    using (SqlDataReader reader = cmd.ExecuteReader())

                    {

                        if (reader.Read())

                        {

                            int errortimes = reader.GetInt32(reader.GetOrdinal("ErrorTime"));

                            if (errortimes >= 3)

                            {

                                MessageBox.Show("错误次数过多");

                            }

                            else

                            {

                                string dbpassword = reader.GetString(reader.GetOrdinal("PassWord"));

                                if (dbpassword == Txt_PassWord.Text)

                                {

                                    MessageBox.Show("登录成功");

                                    ResErrortimes();

                                }

                                else

                                {

                                    IncErrortimes();

                                    MessageBox.Show("密码错误");

                                }

                            }

                        }

                        else

                        {

                            MessageBox.Show("用户名错误");

                        }

                    }       

                  

                }

            }

        }

    }

}

今天就记录在这里。----------------------
Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息