热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.net连接Mysql,并简单的增删改查

一.说明这一篇简单的个人总结,方便自己的复制粘贴,软件是VisualStudio2019,SQLyog二.配置一.在Web.config中的configuration标签下添

一.说明

这一篇简单的个人总结,方便自己的复制粘贴,软件是Visual Studio 2019,SQLyog

二.配置

一.在Web.config中的configuration标签下添加如下代码:

<connectionStrings><add name&#61;"Conn_example" connectionString&#61;"Database&#61;&#39;example&#39;;Data Source&#61;&#39;127.0.0.1&#39;;User Id&#61;&#39;root&#39;;Password&#61;&#39;xxxxx&#39;;charset&#61;&#39;utf8&#39;;pooling&#61;true"/>
connectionStrings>

二.创建一个名为MysqlData.cs的类,并写入如下代码:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;namespace MyTest03
{public class MysqlData{public static string DataBase &#61; ConfigurationManager.ConnectionStrings["Conn_example"].ToString();//将Web.config文件里的配置取出}
}

三.在官网下载MySql.Data.dll,并将其引用,大家请在网上查找

三.连接

创建一个asp.net web 窗口,输入如下代码:

<%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeBehind&#61;"WebForm2.aspx.cs" Inherits&#61;"MyTest03.WebForm2" %>DOCTYPE html><html xmlns&#61;"http://www.w3.org/1999/xhtml">
<head runat&#61;"server">
<meta http-equiv&#61;"Content-Type" content&#61;"text/html; charset&#61;utf-8"/><title>title>
head>
<body><form id&#61;"form1" runat&#61;"server"><div><asp:Button ID&#61;"Button1" runat&#61;"server" OnClick&#61;"Button1_Click" Text&#61;"" Width&#61;"31px" /><br /><asp:Button ID&#61;"Button2" runat&#61;"server" OnClick&#61;"Button2_Click" Text&#61;"" /><asp:TextBox ID&#61;"TextBox1" runat&#61;"server">asp:TextBox><br /><asp:Button ID&#61;"Button4" runat&#61;"server" OnClick&#61;"Button4_Click" Text&#61;"" /><asp:TextBox ID&#61;"TextBox2" runat&#61;"server">asp:TextBox><br /><asp:Button ID&#61;"Button3" runat&#61;"server" OnClick&#61;"Button3_Click" Text&#61;"" /><br />div>form>
body>
html>

其界面效果是这样的:
在这里插入图片描述
而对应的cs文件中,则输入如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;/*添加Mysql的引用*/namespace MyTest03
{public partial class WebForm2 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}//查寻功能protected void Button3_Click(object sender, EventArgs e){ try {string sql &#61; "select * from student";MySqlDataReader DR &#61; MySqlHelper.ExecuteReader(MysqlData.DataBase, sql);string sex &#61; "";while (DR.Read()){sex &#61; "";if (DR.GetInt32(2) &#61;&#61; 1){sex &#61; "男";}else{sex &#61; "女";}Response.Write("编号:" &#43; DR.GetString(0) &#43; ",姓名:" &#43; DR.GetString(1) &#43; ",性别:" &#43; sex &#43; "
"
);}DR.Close();//关闭} catch(Exception ex) {Response.Write(ex.Message);}}//增protected void Button1_Click(object sender, EventArgs e){string sql &#61; "insert into student value(4,&#39;小绿&#39;,0)";MySqlConnection conn &#61; new MySqlConnection(MysqlData.DataBase);//这里需要穿之前配置好类的参数conn.Open();//打开MySqlCommand cmd &#61; new MySqlCommand();cmd.CommandText &#61; sql;//指定cmd要执行的sql语句cmd.Connection &#61; conn;//命令对象和那个连接对象关联/*上面的三行代码也可以换为更为简约的代码:MySqlCommand cmd &#61; conn.CreateCommand();cmd.CommandText &#61; sql;这样就可以省略掉:&#39;cmd.Connection &#61; conn;//命令对象和那个连接对象关联&#39;这一句代码了*///执行并返回结果int result &#61;cmd.ExecuteNonQuery();cmd.Dispose();//将命令对象关闭conn.Close();//将连接对象关闭//判断返回的结果,是否执行成功if (result > 0){Response.Write("增加成功!");}else{Response.Write("增加失败!");}}//删,其余的操作变化都不是很大,无非是sql语句的变化protected void Button2_Click(object sender, EventArgs e){string te &#61; TextBox1.Text;string sql &#61; "delete from student where name&#61;&#39;" &#43; te &#43; "&#39;";MySqlConnection conn &#61; new MySqlConnection(MysqlData.DataBase);conn.Open();MySqlCommand cmd &#61; new MySqlCommand();cmd.CommandText &#61; sql;cmd.Connection &#61; conn;int result &#61; cmd.ExecuteNonQuery();cmd.Dispose();conn.Close();if (result > 0){Response.Write("删除成功!");}else{Response.Write("删除失败!");}}//改protected void Button4_Click(object sender, EventArgs e){string te &#61; TextBox2.Text;string sql &#61; "update student set id&#61;6 where name&#61;&#39;" &#43; te &#43; "&#39;";MySqlConnection conn &#61; new MySqlConnection(MysqlData.DataBase);conn.Open();MySqlCommand cmd &#61; new MySqlCommand();cmd.CommandText &#61; sql;cmd.Connection &#61; conn;int result &#61;cmd.ExecuteNonQuery();cmd.Dispose();conn.Close();if (result > 0){Response.Write("修改成功!");}else {Response.Write("修改失败!");}}}
}

四.结尾

为了数据库的安全,一般都是在取得返回之后,就将命令对象,连接对象关闭.

此为简陋的测试,接下来的学习中,如果遇到其他值得记录的代码,也会给小伙伴们分享.谢谢大家!


推荐阅读
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
author-avatar
我爱伟华
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有