项目地址:
https://github.com/lianghowe/ATM_simulator
- 需求介绍:插卡,验证,存款,取款,转账,查询,菜单,结束。
- 数据库,库名atm_data,表名user_data,三列id,password,balence。
//数据库连接
string ConStr = "server=.;database=atm_data;uid=sa;pwd=newpass";
//创建一个SqlConnection对象
conn = new SqlConnection(ConStr);
//连接指定的数据库
conn.Open();
//读取数据
SqlCommand cmd = new SqlCommand("SELECT * FROM user_data where id="+Form1_init.id, Connect.conn);
SqlDataReader reader = cmd.ExecuteReader();
//要有read()方法,才能获得数据
reader.Read();//返回一个布尔值
password = (string)reader.GetString(1);
balence = (double)reader.GetDouble(2);
//datareader 对象要关闭,否则运行会报错
reader.Close();
//修改数据
SqlCommand cmd = new SqlCommand("update user_data set balence=balence+" + int.Parse(textBox2.Text) + "where id=" + Form1_init.id, Connect.conn);
cmd.ExecuteNonQuery();//执行修改
- 在右上角实现一个倒计时,用timer
//对应的事件
private void timer1_Tick(object sender, EventArgs e)
{
if (second > 0)
label3.Text = --second + " s";
else
{
(new Form1_init()).Show();
this.Visible = false;
this.timer1.Stop();
}
}
int second = 30;
- 触屏输入
借助button事件 - C#窗口打开是父窗口打开子窗口,子不能操作父,父不操作子。所以这里使用visiable;然后new一个新窗口。
- 输入密码时,在文本框显示“*******”,
- 图片strech,自动填满。
- 控件的对齐,选中,在菜单栏