初始.net,实现简单的界面增删查改功能。
一:开发环境
编程软件是VS2012,利用C#语言,运用.net控件GradView自带的增删查改功能。因为在这里一些控件是由微软提供的,里面的一些方法已经封装好了,直接用控件就可以使用。数据库连接的是mysql。相较sql server而言,mysql需要自己编写代码,给自己带来了一定的困难,不过在完成这些之后,通过自己编写代码,收获的东西自然也是不对等的。
二:编写代码
1,添加引用
因为使用的是mysql数据库,所以在连接数据库时需添加引用,在引用中添加mysql.data;
2,界面设计
界面设计可以直接使用vs提供的工具箱直接拖拽即可,其中主要的有两个重要控件,一是GridView,二是SqlDataRource,前者用来绑定显示数据库数据,后者用来连接数据库。
这是主页面,自己摸索一下不会太难,主要涉及一些布局的问题和控件属性的设置。
3,数据库连接
public void ConectDB()
{
string connStr = "Database=student_message;Data Source=localhost;User Id=root;Password=yidingyue;Charset=utf8;";
mySqlConn = new MySqlConnection(connStr);
mySqlConn.Open();
}
4,数据库数据控件绑定
public void bind()
{
string sql = "select * from student_message";
MySqlDataAdapter DataAdapter = new MySqlDataAdapter(sql, mySqlConn);
DataSet dataset = new DataSet();
// 填充DataSet对象
DataAdapter.Fill(dataset, "student_message");
GridView1.DataSource = dataset;
GridView1.DataKeyNames = new string[] { "s_no", "name" };
GridView1.DataBind();
}
三:数据的操作
因为使用的是mysql数据库,那么自然sql语句是必不可少的,在此我们将sql语句和c#代码结合起来,实现数据库和界面数据的同步操作。
1,查询数据
protected void Button1_Click(object sender, EventArgs e)
{
//s_no需和数据库中的类型保持一致
String select = "select *from student_message where s_no="+s_no;
Console.WriteLine(select);
MySqlDataAdapter DataAdapter = new MySqlDataAdapter(select, mySqlConn);
DataSet dataset = new DataSet();
// 填充DataSet对象
DataAdapter.Fill(dataset, "student_message");
GridView1.DataSource = dataset;
GridView1.DataKeyNames = new string[] { "s_no", "name" };
GridView1.DataBind();
}
该方法为查询按钮的监听,点击查询按钮触发该方法。查询得到结果后重新绑定数据
此为查询结果
2,删除数据
//删除 //GridViewDeleteEventArgs不能写成GridViewDeletedEventArgs,否则重载与委托不匹配
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
String sql = "delete from student_message where s_no=" + Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
mySqlCmd = new MySqlCommand(sql, mySqlConn);
mySqlCmd.ExecuteNonQuery();
bind();
}
点击gridview控件后的删除操作执行。
3,增加数据
点击添加信息,跳到另外一页面执行增加操作。
页面跳转方法
protected void Button2_Click(object sender, EventArgs e)
{
Add_data.MsgBox("您需要添加一条信息吗?","Add_data.aspx");
}
//提示框 并跳转到管理页面
public static void MsgBox(string strMsg, string URL)
{
string StrScript;
StrScript = ("<script language=javascript>");
StrScript += ("alert('" + strMsg + "');");
StrScript += ("window.location='" + URL + "';");
StrScript += ("</script>");
System.Web.HttpContext.Current.Response.Write(StrScript);
}
增加数据方法
//添加数据
private bool AddData()
{
String str1 = TextBox1.Text;
String str2 = TextBox2.Text;
String str3 = TextBox3.Text;
String str4 = TextBox4.Text;
String str5 = TextBox5.Text;
String str6 = TextBox6.Text;
string SqlStr = "insert into student_message(s_no,name,sex,age,dept,time)"+ "values("+str1+",'"+str2+"','"+str3+"',"+
str4+",'"+str5+"','"+str6+"')";
Console.WriteLine(SqlStr);
MySqlCommand mySqlCmd = new MySqlCommand(SqlStr, mySqlConn);
mySqlCmd.ExecuteNonQuery();//将数据提交给数据库操作自定义方法ExecuteNonQuery执行添加,并返回影响行数
if (str1!=null&&str2!=null&&str3!=null&&str4!=null&&str5!=null&&str6!=null)
{
return true;//添加成功
}
else
{
//MsgBox("添加失败,请检查是否填写完整或是否填写正确,其中学号和年龄为一数字,其它需为字符型","Add_data.aspx");
return false;//添加失败
}
}
此处需特别注意的是sql语句的正确书写,注意数据库表字段的类型和语句的标点符号。
4,更新数据
更新数据是几种操作中最难的。
点击编辑,让点击的该行高亮显示。
//编辑
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
//当前编辑行背景色高亮
this.GridView1.EditRowStyle.BackColor = System.Drawing.Color.FromName("#F7CE90");
}
取消更新数据
//取消更新
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
this.GridView1.EditIndex = -1;//浏览状态的还原
bind();
}
确认更新数据
//更新
protected void GridView1_RowUpdating(object sender,GridViewUpdateEventArgs e)
{
string strCus = this.GridView1.DataKeys[e.RowIndex][0].ToString();
string s_no = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString();
string name = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString();
string sex = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString();
string age = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString();
string dept = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString();
string time = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text.ToString();
String sql = "update student_message set s_no=" + s_no + ",
name='" + name
+ "',sex='" + sex + "',age=" + age + ",dept='" + dept + "' ,time='" + time + "' where s_no=" + strCus;
mySqlCmd = new MySqlCommand(sql, mySqlConn);
mySqlCmd.ExecuteNonQuery();
bind();
e.Cancel= true;
}
到这里就已经简单的完成了数据的增删查改了,但是里面当然也有很多需要注意的地方。以下就介绍几处需要特别注意的地方。
1,添加引用,在头部也需添加。
using MySql.Data.MySqlClient;
using System.Data;
2,连接数据库时处理中文乱码问题,在连接数据库字符串中添加charset=utf8;
string connStr = "Database=student_message;Data Source=localhost;User Id=root;Password=yidingyue;Charset=utf8;";
3,修改数据之后更新时,需在page_load方法中添加一个判断,否则重新绑定的还会是原来的数据,即更新数据无效果。
if(!IsPostBack)
{
bind();
}
4,gridview控件操作字段的类型需为CommandField。如:
<asp:CommandField HeaderText="修改" ShowEditButton="true" CancelText="更新" UpdateText="取消" />
<asp:CommandField HeaderText="删除" ShowDeleteButton="true"/>
此为前台代码。
5,Gridview方法代码在前台和后台都需声明,并且保持一致,后台声明即为操作方法代码,后台声明如下:
<asp:GridView ID="GridView1" runat="server" Width="827px" AutoGenerateColumns="False" CellPadding="4" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px"
OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnRowEditing="GridView1_RowEditing"
OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowUpdating="GridView1_RowUpdating"
OnRowDeleting="GridView1_RowDeleting" >
- 大小: 95.4 KB
- 大小: 22.9 KB
- 大小: 9.5 KB
- 大小: 11.5 KB
- 大小: 27.6 KB
分享到:
相关推荐
进行增删查改。 【选作内容】 GUI 界面实现,其他不在实现要求范围内的功能。 解压后运行Frame这个java文件 操作演示可以看这个文章:https://blog.csdn.net/qq_42145681/article/details/128490965
这是一个 .NETCore MVC 中间件,基于 AdminLTE 前端框架动态产生 FreeSql 实体的增删查改界面。
该代码使用了ssh(strut+hibernate+spring),实现了课程的增删改查,内含登录操作界面和增删改查界面等,是学习ssh的入门源代码,可完整运行,需修改数据源和建立相关数据库表。
①、管理员界面 :员工管理(增删查改)、部门管理(增删查改)、考勤设置(指定放假、工作日期,不设置默认为周1-5上班 周六周日休假). ②、部门主管界面:请假审批(增删查改、审核员工提交的请假申请)、考勤...
①、管理员界面 :员工管理(增删查改)、部门管理(增删查改)、考勤设置(指定放假、工作日期,不设置默认为周1-5上班 周六周日休假). ②、部门主管界面:请假审批(增删查改、审核员工提交的请假申请)、考勤...
用VB.NET程序将绩效考核结果写入数据库SQL SERVER 2005中,初始设置的用户有123,234,和345,密码和用户名一致,可以增删查改用户名和密码。 管理员用户名qqq,密码qqq或q,可以手动进行修改。 绩效考核的最后成绩...
该网站是用.NET开发的一个小行的论坛,可以实现权限角色来访问不同的信息,可以实现ADO.NET 中的增删查改功能,界面美观
基于ASP.NET实现美食的展示搜索,使用的Access数据库,内含用户表及菜品表,实现简单的搜索展示功能,含管理员后台界面,实现美食的增删查改功能。
提供用户以及管理员功能,用户可以对交通图进行查询,而管理员可以对交通图进行增删查改,同时管理员可以登陆、修改密码等待操作,界面采用字符界面。这样操作,更加真实地模拟了交通咨询系统。关于要求的功能,实现...
界面美观,两种登录方式,管理员和读者,管理员可以对图书进行增删查改,借阅与归还登记,读者信息修改与添加。
本系统采取组件化的方式对系统进行拆分,并对数据库中各个表的增删查改、表与表之间的约束关系进行分析与设计,最终实现符合用户需求功能的商业级应用。 系统界面简洁大方,布局合理,易操作易上手。对应用户的每...
该源代码是完整的登陆+数据库连接+数据增删查改操作
本系统采取组件化的方式对系统进行拆分,并对数据库中各个表的增删查改、表与表之间的约束关系进行分析与设计,最终实现符合用户需求功能的商业级应用。 系统界面简洁大方,布局合理,易操作易上手。对应用户的每...
(1)基本信息管理模块:基本信息(学生类、教师类、课程类)的增删查改以及在界面中的显示、排序、查找 (2)选课模块:包含选课和退课两大功能(包含冲突检测) (3)排课模块:教师提交课程、管理员添加课程 (4...
项目已获导师指导并通过的95分的高分期末大作业项目,可...该系统实现了简单的增删查改、员工工资查询、员工工资加、员工工资修改、员工工资删除。 详见:https://blog.csdn.net/Timi2019/article/details/128318547
项目已获导师指导并通过的95分的高分期末大作业项目,可作为课程...该系统实现了简单的增删查改、企业招聘信息查询、企业招聘信息增加、企业招聘信息修改、企业招聘信息删除。 运行环境: idea/eclipse mysql8.0以上
界面优美 主要体现对企业信息的增删查改 包括普通员工的登录操作以及主管人员的登录操作 其权限不同
该系统实现了简单的增删查改、采用面对对象(OOP)的编程思维来写,包含查看车辆信息、增加汽车信息、删除汽车、查询汽车四个功能 详见:https://blog.csdn.net/Timi2019/article/details/128321825
基于java+swing+mysql员工工资管理系统(高分课程设计) 项目已获导师指导并通过的95...该系统实现了简单的增删查改、用户登陆、员工工资查询、员工工资加、员工工资修改、员工工资删除。 运行环境:idea\eclipse\mysql
程序中实现了登录和对数据库图书类别表和图书表的增删查改功能,图书类别表的字段有:类别id、类别名称、类别描述, 图书表的字段有:图书id、图书名称、图书作者、图书价格、图书描述、图书类别id。 运行环境:...