超市管理系统
数据库
use master
if exists (select * from sysdatabases where name='supermark')
drop database supermark
create database supermark
on primary
(
name='supermark_data',
filename='f:\supermark.mdf',
filegrowth=20%,
size=10mb
)
log on
(
name='supermark_log',
filename='f:\supermark_log.ldf',
size=3mb,
maxsize=20mb
)
use [supermark]
go
set ansi_nulls on
go
set quoted_identifier on
go
set ansi_padding on
go
create table [dbo].[states](
[id] [int] identity(1,1) not null,
[statesname] [varchar](20) not null,
constraint [pk_states] primary key clustered
(
[id] asc
)with (pad_index = off, statistics_norecompute = off, ignore_dup_key = off, allow_row_locks = on, allow_page_locks = on) on [primary]
) on [primary]
go
set ansi_padding off
go
set ansi_nulls on
go
set quoted_identifier on
go
set ansi_padding on
go
create table [dbo].[usersinfo](
[id] [int] identity(1,1) not null,
[customerid] [varchar](20) not null,
[customerpassword] [varchar](20) not null,
[customertype] [varchar](10) not null,
[score] [int] not null,
[statusid] [int] not null,
constraint [pk_usersinfo] primary key clustered
(
[id] asc
)with (pad_index = off, statistics_norecompute = off, ignore_dup_key = off, allow_row_locks = on, allow_page_locks = on) on [primary]
) on [primary]
go
set ansi_padding off
go
alter table [dbo].[usersinfo] with check add constraint [fk_usersinfo_states] foreign key([statusid])
references [dbo].[states] ([id])
go
alter table [dbo].[usersinfo] check constraint [fk_usersinfo_states]
go
窗体
帐号文本框 name 为 txtcustomerid
密码文本框 name为txtpwd
金卡 name 为rdojinka
铂金卡 name为rdobojinka
钻石卡 name为rdozuanshika
状态 下拉框 name 为cbostatus
账户积分文本框name 为 txtscore 属性readonly 为true
显示控件 name为dgvuserinfo
id 绑定数据id
账号 绑定数据customerid
卡别绑定数据customertype
积分绑定数据score
状态绑定数据statesname
后台代码
链接数据库字符串请根据实际情况而定
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
using system.data.sqlclient;
namespace supermarksystem
{
public partial class frmmain : form
{
//链接数据库字符串
string connstr = "data source=.;initial catalog=supermark;integrated security=true";
dataset ds;
sqldataadapter adapter;
public frmmain()
{
initializecomponent();
}
private void frmmain_load(object sender, eventargs e)
{
this.dgvuserinfo.autogeneratecolumns = false;
bindstates();
binduserinfo();
}
//绑定会员状态下拉菜单
private void bindstates()
{
try
{
sqlconnection conn = new sqlconnection(connstr);
ds = new dataset();
string sql = "select id,statesname from states";
adapter = new sqldataadapter(sql, conn);
adapter.fill(ds, "states");
this.cbostatus.datasource = ds.tables["states"];
this.cbostatus.valuemember = "id";
this.cbostatus.displaymember = "statesname";
this.cbostatus.selectedindex = 0;
}
catch (exception)
{
}
}
private void btnexit_click(object sender, eventargs e)
{
application.exit();
}
private void rdojinka_checkedchanged(object sender, eventargs e)
{
if (rdojinka.checked==true)
{
txtscore.text = "500";
}
}
private void rdobojinka_checkedchanged(object sender, eventargs e)
{
if (rdobojinka.checked == true)
{
txtscore.text = "2000";
}
}
private void rdozuanshika_checkedchanged(object sender, eventargs e)
{
if (rdozuanshika.checked == true)
{
txtscore.text = "5000";
}
}
/// <summary>
/// 绑定会员信息
/// </summary>
private void binduserinfo()
{
try
{
sqlconnection conn = new sqlconnection(connstr);
ds = new dataset();
string sql = "select u.id,customerid,customertype,score,s.statesname from usersinfo as u,states as s where u.statusid=s.id";
adapter = new sqldataadapter(sql, conn);
adapter.fill(ds, "usersinfo");
this.dgvuserinfo.datasource = ds.tables["usersinfo"];
}
catch (exception)
{
}
}
private void btnadd_click(object sender, eventargs e)
{
if (txtcustomerid.text.trim().equals(string.empty) || txtpwd.text.trim().equals(string.empty) || cbostatus.text.trim().equals(string.empty))
{
messagebox.show("请填写完整的会员信息!");
return;
}
sqlconnection conn = new sqlconnection(connstr);
try
{
string customertype = string.empty;
if (rdojinka.checked == true)
{
customertype = "金卡";
}
else if (rdobojinka.checked == true)
{
customertype = "铂金卡";
}
else
{
customertype = "钻石卡";
}
string sql = string.format(@"insert into usersinfo(customerid,customerpassword,customertype,score,statusid)
values('{0}','{1}','{2}',{3},{4})",
txtcustomerid.text.trim(),
txtpwd.text.trim(),
customertype,
txtscore.text.trim(),
cbostatus.selectedvalue);
conn.open();
sqlcommand command = new sqlcommand(sql, conn);
int count = command.executenonquery();
if (count == 1)
{
messagebox.show("新增成功!");
//刷新用户列表数据
binduserinfo();
}
else
{
messagebox.show("新增失败!");
}
}
catch (exception)
{
messagebox.show("发生异常!");
}
finally
{
conn.close();
}
}
private void 删除toolstripmenuitem_click(object sender, eventargs e)
{
string id = this.dgvuserinfo.selectedrows[0].cells["id"].value.tostring();
if (messagebox.show("确定要删除该条信息吗?" + id, "提示", messageboxbuttons.yesno, messageboxicon.information) == dialogresult.yes)
{
sqlconnection conn = new sqlconnection(connstr);
try
{
string sql = "delete from usersinfo where id=" + id;
conn.open();
sqlcommand command = new sqlcommand(sql, conn);
int count = command.executenonquery();
if (count == 1)
{
messagebox.show("删除成功!");
//刷新用户列表数据
binduserinfo();
}
else
{
messagebox.show("删除成功!");
}
}
catch (exception)
{
messagebox.show("发生异常!");
}
finally
{
conn.close();
}
}
}
}
}
上一篇: C#多边形求角——实例说
下一篇: RabbitMQ是如何运转的?
推荐阅读
-
Android自定义View 使用PathMeasure简单模仿系统ProgressBar(四)
-
Visual Studio资源管理器怎么修改停靠位置?
-
Wing FTP Server(FTP服务器管理软件)英文版使用方法(操作步骤)
-
windows系统mysql5.7.18安装图文教程
-
Mac系统中的Mail邮件怎么关联163/Outlook邮箱?
-
有美食餐饮管理系统后台连接打印机的设置方法
-
Mac有哪些常用的快捷键?Mac系统快捷键进阶教程
-
Asp.Net Core 轻松学-基于微服务的后台任务调度管理器
-
微软Win7/Win8.1/Win10系统工具包Sysinternals(15.7)下载
-
笔记本开机进不去系统 错误代码0xc000000f的解决办法