.net界面的增删查改

2024-05-25 20:08
文章标签 界面 net 增删 查改

本文主要是介绍.net界面的增删查改,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

初始.net,实现简单的界面增删查改功能。
一:开发环境
编程软件是VS2012,利用C#语言,运用.net控件GradView自带的增删查改功能。因为在这里一些控件是由微软提供的,里面的一些方法已经封装好了,直接用控件就可以使用。数据库连接的是mysql。相较sql server而言,mysql需要自己编写代码,给自己带来了一定的困难,不过在完成这些之后,通过自己编写代码,收获的东西自然也是不对等的。

二:编写代码

1,添加引用
因为使用的是mysql数据库,所以在连接数据库时需添加引用,在引用中添加mysql.data;
2,界面设计
界面设计可以直接使用vs提供的工具箱直接拖拽即可,其中主要的有两个重要控件,一是GridView,二是SqlDataRource,前者用来绑定显示数据库数据,后者用来连接数据库。[img]http://dl2.iteye.com/upload/attachment/0091/1921/3f805b5c-1c70-37b5-9b12-db5d66c1b83d.jpg[/img]
这是主页面,自己摸索一下不会太难,主要涉及一些布局的问题和控件属性的设置。
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();

}

该方法为查询按钮的监听,点击查询按钮触发该方法。查询得到结果后重新绑定数据
此为查询结果[img]http://dl2.iteye.com/upload/attachment/0091/1923/562952ce-7777-3ae5-aff4-0e92f454dd25.jpg[/img]

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");

}

[img]http://dl2.iteye.com/upload/attachment/0091/1935/7bf8e89c-55cc-3246-9dcf-d37def7d5544.jpg[/img]



//提示框   并跳转到管理页面
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;//添加失败
}
}

[img]http://dl2.iteye.com/upload/attachment/0091/1937/259427f8-6fb1-388e-ab7b-fef12391f3bc.jpg[/img]


此处需特别注意的是sql语句的正确书写,注意数据库表字段的类型和语句的标点符号。
4,更新数据
更新数据是几种操作中最难的。
点击编辑,让点击的该行高亮显示。
//编辑
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{

GridView1.EditIndex = e.NewEditIndex;
//当前编辑行背景色高亮
this.GridView1.EditRowStyle.BackColor = System.Drawing.Color.FromName("#F7CE90");

}

[img]http://dl2.iteye.com/upload/attachment/0091/1939/e6c4adc0-049a-3f3f-bf32-73273e2b17f7.jpg[/img]


取消更新数据
//取消更新
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" >

这篇关于.net界面的增删查改的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002503

相关文章

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用