黑马程序员之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/
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/
相关文章推荐
- 黑马程序员_004_ado.net中的几种用户登录方式对比
- 黑马程序员_ADO.NET 一个简单的登录程序
- 黑马程序员 C#学习笔记③ ADO.NET实现登录案例
- 黑马程序员-ADO.NET登录页面中的错误次数过多禁止登陆
- 黑马程序员-自学笔记-SQL Server与ADO.Net(三)
- ASP.NET 登录界面
- 黑马程序员_ADO.Net(登陆及错误处理,导入与导出,分隔,交互,时间段,Null与DBNull)
- 黑马程序员之ADO.NET学习笔记:通过SqlCommand对象执行SQL语句
- 在 ASP.NET 中实现不同角色的用户使用不同登录界面的方法
- ASP.NET 实现登录界面(生成验证码)
- 黑马程序员---ADO.Net学习小结
- 黑马程序员_ADO.NET基础
- 黑马程序员__ADO.Net
- 黑马程序员 ado.net
- ASP .NET登录界面用户验证码代码
- 黑马程序员_ADO.NET数据库连接
- 黑马程序员-自学笔记-SQLServer与ADO.Net(四)
- 黑马程序员--ADO.NET数据导入导出
- asp.net 退出框架页面时回退至登录界面
- 黑马程序员_ADO.Net(配置文件的两种写法与使用方法,手动编写SqlHelper类)