`
在下个路口
  • 浏览: 111427 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

.net界面的增删查改

 
阅读更多

         初始.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
分享到:
评论

相关推荐

    ASP.NET增删查改

    在这个“ASP.NET增删查改”的主题中,我们将深入探讨如何使用几种常见的ASP.NET控件,如GRIDVIEW、DATALIST和DETAILVIEW,来实现数据的显示、分页、添加和删除操作,这些都是Web应用开发中的基础功能。 首先,...

    asp.net 数据增删查改的简易项目网页demo(适合新手)

    在这个"asp.net 数据增删查改的简易项目网页demo"中,我们将探讨如何使用ASP.NET来实现数据库中的基本操作:添加(Add)、删除(Delete)、查询(Query)和修改(Update)数据。 首先,让我们来看看ASP.NET如何与...

    asp.net简单增删查改功能

    在ASP.NET中,开发Web应用程序时,我们经常需要实现数据的增、删、查、改(CRUD,Create, Read, Update, Delete)操作。这是一个基础且重要的功能,用于管理数据库中的信息。以下是对这个主题的详细解释: **1. ...

    ASP 增删查改开发方案

    本文通过对ASP.NET中增删查改操作的具体实现进行了详细的分析,包括了主表与附表的概念、数据处理界面的设计以及具体的代码实现等方面。通过对这些技术点的学习,可以帮助开发者更好地理解和掌握ASP.NET中的数据库...

    ADO.net增删查改

    在这个“ADO.NET增删查改”的主题中,我们将深入探讨如何利用ADO.NET进行数据操作,主要包括四大基本操作:增加(Insert)、删除(Delete)、查询(Select)和更新(Update)。 首先,我们要建立数据库连接。在C#中...

    ( .net 利用三层 调用 sql存储过程 实现增删查改

    在表示层中,我们可以使用 ASP.NET 来实现用户界面,并调用业务逻辑层来实现增删查改操作。 知识点: 1. 三层架构的概念和应用 2. .NET 框架中的数据访问层 3. ADO.NET 的使用 4. SQL 存储过程的创建和调用 5. ...

    一个用VB.NET做的简单增删改查的例子

    在本例子中,"一个用VB.NET做的简单增删改查的例子" 是一个基础的数据库操作教程,适用于初学者了解如何使用VB.NET进行数据管理。 在数据库应用中,增删改查(CRUD,Create、Read、Update、Delete)是最基本的操作...

    ASP.net实现简单增删改查功能

    在这个“ASP.NET实现简单增删改查功能”的主题中,我们将深入探讨如何利用ASP.NET的核心组件,如Visual Studio(VS)集成开发环境和SQL Server数据库,来实现基本的数据操作。 首先,我们需要了解ASP.NET MVC或Web ...

    S2北大青鸟结业考试题 .net包含数据库 外加增删查改 异步操作等

    在"S2北大青鸟结业考试题 .NET包含数据库 外加增删查改 异步操作等"中,我们可以推断这是一份针对.NET开发者的学习或考核资料,涵盖了数据库操作、CRUD(Create, Read, Update, Delete)基本操作以及异步编程等多个...

    对表的增删查改 C#

    ### 对表的增删查改 C# #### 概述 在C#开发环境中,尤其是在使用Visual Studio进行数据库操作时,“对表的增删查改”是必不可少的基本技能之一。本篇将详细介绍如何在C#中利用ADO.NET进行数据表的增、删、改、查...

    C#控制台简易手机销售系统实现了增删查改

    【标题】"C#控制台简易手机销售系统实现了增删查改"是一个初学者级别的编程项目,主要展示了如何使用C#语言在控制台环境下构建一个简单的数据管理应用。这个项目对于那些刚开始学习C#和软件开发的人来说是一个很好的...

    基于.netCore 6 +EF 实现webApi增删查改基础应用,开箱即用

    在本文中,我们将深入探讨如何使用`.NET Core 6`框架和`Entity Framework (EF)`来构建一个功能完备的Web API服务,实现数据的增、删、查、改(CRUD)操作。`.NET Core 6`是微软推出的一个高性能、跨平台的开源开发...

    C#程序实现基本的增删查改功能

    本项目“C#程序实现基本的增删查改功能”是基于C#语言和SQLServer数据库构建的一个简单应用,它展示了如何利用Model-View-Controller(MVC)设计模式来处理数据操作。下面我们将详细探讨这个项目中的关键知识点。 ...

    MVC Demo 增删查改

    综上所述,"MVC Demo 增删查改"是一个完整的Web应用程序示例,它演示了如何利用ASP.NET MVC框架处理产品数据的生命周期,以及如何处理模型间的级联关系。这个Demo对于初学者理解MVC模式和CRUD操作有很大的帮助,同时...

    简单的ASP MVC 5增删查改练习 源码

    通过这个简单的ASP.NET MVC 5增删查改练习,初学者可以深入了解MVC架构以及如何在实际项目中应用。从模型定义、视图渲染、控制器操作到数据库交互,每个环节都有助于提升对Web开发的理解。此外,练习还涵盖了数据...

    Repeater增删查改

    在.NET Web开发中,`Repeater`控件是一种非常实用的服务器控件,常用于动态数据展示,尤其在实现增删查改等CRUD操作时。本项目名为"Repeater增删查改",旨在通过`Repeater`控件演示如何在网页上实现基本的数据管理...

    Repeater控件增删查改

    本项目"Repeater控件增删查改"旨在教你如何利用Repeater控件实现数据的添加、删除、查看和修改功能,同时结合分页控件AspNetPager实现高效的数据浏览,还包含了批量删除和站内模糊搜索功能。项目采用了经典的3层架构...

    关于用c#在ASP.NET中对于存储过程的增删查改的例子的应用

    本示例将详细讲解如何使用C#在ASP.NET中执行存储过程进行数据的增删查改。 **增加(Insert)** 增加数据通常涉及到向数据库表中添加新记录。在C#中,我们可以使用`SqlDataAdapter`和`SqlCommand`对象来调用存储过程...

    MVC3多语言+ef增删查改

    本文将深入探讨如何在ASP.NET MVC3框架下实现多语言支持,并结合Entity Framework (EF) 进行数据的增删查改操作。这个DEMO项目名为“CultureAwareDemo”,它提供了一个完整的示例,帮助开发者了解并实践多语言网站的...

    c#窗体应用程序实现对数据库的增删查改

    这里主要涉及C#与MySQL数据库的交互,通过ADO.NET库来建立连接,执行SQL语句。以下是对这个主题的详细讲解。 1. **C#窗体应用程序基础** C#窗体应用程序是基于.NET Framework或.NET Core的一种桌面应用开发方式。...

Global site tag (gtag.js) - Google Analytics