.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

相关文章

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

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