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