2012,c#复习(一),登陆界面的判定和时间限定,SQL
来源:互联网 发布:实体店淘宝数据包 编辑:程序博客网 时间:2024/06/15 05:34
//登录的判定;
private void btnLogin_Click(object sender, EventArgs e)
{
//从app.config文件中获取节点的name属性为strcon的connectionString的值,也就是获取对应的连接字符串
string strcon=ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
//建立了程序到数据库的连接,好比铺设了一条水管
SqlConnection conn = new SqlConnection(strcon);
//存储要像数据库管理系统发送的一条sql语句
SqlCommand cmd = new SqlCommand();
//指明要像哪个数据库发送sql语句
cmd.Connection = conn;
cmd.CommandText = "select * from T_User where UserName=@username and Password=@password" ;
//使用用户输入的内容替换sql语句中@username占位符
//cmd.Parameters.Add(new SqlParameter("@username", txtUserName.Text));
//cmd.Parameters.Add(new SqlParameter("@password", txtPassword.Text));
/*最新的方式,内部还是调用了cmd,parameter,add方法*/
cmd.Parameters.AddWithValue("@username", txtUserName.Text);
cmd.Parameters.AddWithValue("@password", txtPassword.Text);
//数据适配器,向数据库发送命令
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//内存中的表格,用来存储从数据库中返回的数据
DataTable dt = new DataTable();
adapter.Fill(dt);
//根据datatable对象中的数据的行数来判断用户输入的是否正确
if (dt.Rows.Count <= 0)
{
MessageBox.Show("输入的用户名或者密码不正确,请重新输入");
}
else if (dt.Rows.Count > 1)
{
MessageBox.Show("系统中存在重复的用户,请联系管理员");
}
else
{
MessageBox.Show("登录成功");
}
cmd.Dispose();
//关闭连接
//conn.Close();
//释放资源
conn.Dispose();
}
//时间的限制
if (dr.Read())
{
int i = Convert.ToInt32(dr["Error"]);
if (i==3)//错误不能超过三次
{
TimeSpan span = DateTime.Now.Subtract(Convert.ToDateTime(dr["ErrorTime"]));//获得本地时间对数据库中已存时间的差值
if (span.TotalSeconds>120)//将其差值转换成秒 <120秒
{
cnn.Close();
cmm = new SqlCommand("update T_User set Error=0 where UserName='" + this.tbuser.Text + "'", cnn);// 将错误次数归零
cnn.Open();
cmm.ExecuteNonQuery();
cnn.Close();
}
}
else
{
MessageBox.Show("OK!");
cmm.Dispose();
}
}
数据库基本语句:
***SELECT***
select *(列名) from table_name(表名) where column_name operator value ex:(宿主) select * from stock_information where stockid = str(nid) stockname = 'str_name' stockname like '% find this %' stockname like '[a-zA-Z]%' --------- ([]指定值的范围) stockname like '[^F-M]%' --------- (^排除指定范围) --------- 只能在使用like关键字的where子句中使用通配符) or stockpath = 'stock_path' or stocknumber < 1000 and stockindex = 24 not stock*** = 'man' stocknumber between 20 and 100 stocknumber in(10,20,30)
order by stockid desc(asc) --------- 排序,desc-降序,asc-升序 order by 1,2 --------- by列号 stockname = (select stockname from stock_information where stockid = 4) --------- 子查询 --------- 除非能确保内层select只返回一个行的值, --------- 否则应在外层where子句中用一个in限定符 select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复 select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name select stockname , "stocknumber" = count(*) from table_name group by stockname --------- group by 将表按行分组,指定列中有相同的值 having count(*) = 2 --------- having选定指定的组
select * from table1, table2 where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示 table1.id =* table2.id -------- 右外部连接 select stockname from table1 union [all] ----- union合并查询结果集,all-保留重复行 select stockname from table2
***insert***
insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx") value (select Stockname , Stocknumber from Stock_table2)---value为select语句 ***update*** update table_name set Stockname = "xxx" [where Stockid = 3] Stockname = default
Stockname = null Stocknumber = Stockname + 4
***delete***
delete from table_name where Stockid = 3 truncate table_name ----------- 删除表中所有行,仍保持表的完整性 drop table table_name --------------- 完全删除表
- 2012,c#复习(一),登陆界面的判定和时间限定,SQL
- c#登陆界面的判定和时间限定,SQL
- VS2005 C#中的登陆界面和主界面的关系~~
- C#专题一:登陆界面的基本实现
- 登陆界面的数据处理(一)
- C#简单的登陆界面!
- C#中如何限定线程的运行时间
- C#和sql server 2000组合编写的登陆框!
- 用c#连接SQL实现登陆界面功能
- C# 登陆界面
- c#做登陆界面
- sql 复习笔记(一)
- java 时间日期的判定和时间的加减
- 很全面的登陆注册界面实现,包括页面显示和后台数据库交互(写了我一下午)
- GuideMap 登陆界面 详细文档(一)
- C# 界面开发-登陆窗体(包括欢迎界面)
- C# 界面开发-登陆窗体(包括欢迎界面)
- 数据和判定(一)
- 2012-02-20记
- 第二章 jQuery技术解密 (七)
- 新的一天
- 天下神题
- C++调用java
- 2012,c#复习(一),登陆界面的判定和时间限定,SQL
- [问题与解决] java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
- 39 Clone farm
- C++学习笔记
- JSP基本知识
- 段间跳转指令jmpi和实模式寻址
- Android面试题之解决篇
- php-通过数据库实现队列
- 如何在指定的时间内控制一个程序能否正确登陆