C#(Winform)写个登录的窗体,求解 ,求解........
C#(Winform)写个登录的窗体 ,但是在编写过程中,不去创建数据库,该怎么做呢?如何在登入的时候能判断是否有此用户.....(如果使用数组该如何做) 求代码、求解 --------------------编程问答-------------------- 可以建立公共变量,存储用户。还得用文件,添加用户什么的 --------------------编程问答-------------------- 一次性读文件,然后存入数组,很简单的 --------------------编程问答--------------------
小弟刚学,这个还不会,请高手赐教.... --------------------编程问答-------------------- 最直接的:if(username="某某"&&password="123"){MessageBox("登录成功")}else{MessageBox("登录失败")}
--------------------编程问答--------------------
如果使用数组怎么做?大侠 --------------------编程问答-------------------- 你想不去比较数据库数据就想判断此用户是否存在? 你厉害,我没做过。 注册成功了,数据库才会有,不和数据库比较,怎么知道登录的是不是 注册成功的。 --------------------编程问答--------------------
这我才刚学,很多不知道,希望大家给出建议 --------------------编程问答-------------------- 大家说说啊....小弟不甚感激 --------------------编程问答--------------------
//定义哈希表
private Hashtable ht = new Hashtable();
private void Form1_Load(object sender, EventArgs e)
{
StreamReader sr = null;
try
{
//参数一:路径,参数二:编码格式
sr = new StreamReader(@"C:\Users\Administrator\Desktop\users.txt",
Encoding.GetEncoding("gb2312"));
string str = string.Empty;
//循环读取文本,每次读取一行
while ((str = sr.ReadLine()) != null)
//将账号密码以键值对的方式添加进入哈希表
ht.Add(str.Split(' ')[0], str.Split(' ')[1]);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
sr.Close();
sr.Dispose();
}
}
private void button1_Click(object sender, EventArgs e)
{
int count = 0;
//循环遍历哈希表
foreach(DictionaryEntry de in ht)
{
//如果某一键值对跟账号密码相匹配则累加1
if (de.Key.Equals(this.textBox1.Text) && de.Value.Equals(this.textBox2.Text))
count ++;
}
if (count > 0)
MessageBox.Show("登录成功!");
else
MessageBox.Show("登录失败");
}
参考地址:http://www.cnblogs.com/ghypnus/archive/2012/03/24/2416038.html --------------------编程问答-------------------- 用C语言做过学生成绩管理系统,可以把思路给你说下,但是不用数据库比较复杂
大致思路就是 用结构体数组储存用户名和密码,然后在登陆的时候使用循环来对比用户名,当对比到相同用户名的时候,提取结构体数组的下标,然后对比这个下标里的密码,相同则登陆成功,反之失败....
建议学习下数据库,然后利用数据库来做比较好 --------------------编程问答--------------------
这个就写的很好了呀! --------------------编程问答-------------------- 这个太简单了,
只要 建一个窗体,拖几个 textbox label 两个button
就ok了
数据当然存在数据库了。 --------------------编程问答-------------------- 要好点就写个 验证码图片生成器。
不想写 就 一个时间段,只能失败的登录5次。 --------------------编程问答-------------------- 楼上的未免忒。。。。没有数据库就不行? 你可以用泛型集合实例化你的对象,然后循环遍历去读取。没有则返回提示。 --------------------编程问答--------------------
数据当然存在数据库,这句话是错的吧? 用XML文件不行? 。。。 --------------------编程问答-------------------- 数据库方便快捷,应用大量数据时还是好处多多!这可需要讨论吗? --------------------编程问答-------------------- 可以将所允许的用户账号用代码写死放入List<T>,或是字典中。这很好实现的。动动手就能做到的。 --------------------编程问答--------------------
正确,
没有说一定要你用数据。
你用xml ,excel ,甚至是txt,log ,以至是加密成bmp图片,都没有问题,都能实现。
只是[方便不方便]日后更改,数据增删改查,以及数据配份的问题了。。。
--------------------编程问答--------------------
这当然是可以的,
只是用户数量少才这样做,
不然,那电脑的宝贵的内存 给了那几个G 的用户账号了。 --------------------编程问答-------------------- 偶很愚昧啊....不懂 --------------------编程问答-------------------- sr = new StreamReader(@"C:\Users\Administrator\Desktop\users.txt",
Encoding.GetEncoding("gb2312"));
中的users.txt 指的是什么呀?
我现在是想登录前,必须先注册然后再登录,大侠,这个怎么办啊? --------------------编程问答-------------------- 不用数据库实现不了吧 --------------------编程问答--------------------
这个就可取,越简单越好 --------------------编程问答--------------------
首先:数据库、文本文件、XML等等 都是存储数据的一种方式而已。
1、数据库方式:你注册一个用户,通过insert语句插入数据库
你登录的时候,通过select来查询匹配
2、文本方式: 你注册一个用户,通过文件流方式向文本文档写入一行数据,通过空格或者逗号来分隔
你登录的时候,将文本文件的数据读入内存,然后循环匹配登录名和密码
文本方式的好处:不需要装数据库,方便简单。
坏处:如果数据库量大,浪费内存。
以上只是简单阐述一下重点而已,看看过就行。 --------------------编程问答--------------------
我需要先注册 才登录的,这样做写死了不好挖 --------------------编程问答--------------------
大虾 。。。文本方式如何注册,注册后在登录窗体怎样匹配...... --------------------编程问答-------------------- 创建文件流可以的,把用户名和密码写入文件
然后再读取 --------------------编程问答--------------------
怎么弄? --------------------编程问答-------------------- 加QQ1004518158 我教你。
补充:.NET技术 , C#