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

---------------------- 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/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值