c# mysql 操作_c#对mysql数据库的基本操作

1 数据库的创建

打开已经安装好的数据库,如下流程:

step 1:单击 “MySQL Command Line Client-Unicode”

step 2:输入密码,进入数据库

step 3:建立一个简单的数据库,在这里建立一个名称为“mysql_test”的数据库,如下所示:

不过注意此时的数据库里面还没有任何东西。

step 4:在数据库创建一个数据表,如下所示:

use mysql_test;

create table student(

id int not null auto_increment,

StuName varchar(5) not null,

StoNo varchar(14) not null,

Age varchar(3) not null,

primary id

)engine = InnoDB default charset utf=8;

describe student;

insert into student(StuName,StoNo,Age)

values

('张三',3120150802200,18),

('李四',3120150802201,18),

('王麻子',3120150802202,18),

('百度',3120150802203,19),

('阿里',3120150802204,19),

('腾讯',3120150802205,20);

select * from student;

2 连接数据库

使用的是“窗体控件” 来实现连接数据库

step 1:新建一个“窗体控件”项目,从工具箱拖进“button ”公共控件

step 2:在解决方案资源管理器一栏,找到引用,并添加引用“MySql.Data.dll ”

step 3:双击控件,进入程序设计,添加:using MySql.Data.MySqlClient;

step 4:加接代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace mysql_connect

{

public partial class UserControl1: UserControl

{

public UserControl1()

{

InitializeComponent();

}

static string conStr = "server=localhost;port=3306;user=root;password=******; database=mysql_test;";//password 输入你所建立数据库的密码

private void Mysql_connect_Click(object sender, EventArgs e)

{

MySqlConnection connect = new MySqlConnection(conStr);

try

{

connect.Open();//建立连接,可能出现异常,使用try catch语句 MessageBox.Show("恭喜,已经建立连接!");

}

catch (MySqlException exe)

{

MessageBox.Show(exe.Message);//有错则报出错误 }

finally

{

connect.Close();//关闭通道 }

}

}

}

3 数据操作

数据库连接成功之后,就可以使用SQL语句对数据库进行命令操作了。command类提供了几个可执行的命令,下面分别介绍。

流程如下:

第一,使用SqlConnection对象连接数据库;

第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;

第三,对SQL或存储过程执行后返回的“结果”进行操作。

3.1 ExecuteNonQuery(): 执行一个命令,但不返回任何结果,就是执行非查询语句,如:Update:更新;Insert:插入;Delete:删除。

//Update更新代码

string SqlString = "Update ff "

+" Set username='李四',password='20191001'"

+" where id='2'";//SQL语句

MySqlCommand cmd = new MySqlCommand(SqlString,connect);//建立数据库命令,确定sql数据操作语句,和数据库连接。

int ret = cmd.ExecuteNonQuery();//执行SQL语句

MessageBox.Show("执行成功,影响了"+ ret.ToString() + "条数据!");

3.2 ExecuteReader():执行一个命令,返回一个类型化的IDataReader;执行查询语句的命令,也就是select语句。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace mysql_read1

{

public partial class UserControl1: UserControl

{

public UserControl1()

{

InitializeComponent();

}

static string conStr = "server=localhost;port=3306;user=root;password=11xxjlw520; database=mysql_test;";//password 输入你所建立数据库的密码 private void Button1_Click(object sender, EventArgs e)

{

MySqlConnection connect = new MySqlConnection(conStr);

try

{

connect.Open();//建立连接,可能出现异常,使用try catch语句 string SqlStr = "select StuName,StuNo,Age from student where StuNo='3120150802202'";

MySqlCommand cmd = new MySqlCommand(SqlStr, connect);

MySqlDataReader DataReader = cmd.ExecuteReader();

while (DataReader.Read())

{

Console.WriteLine(DataReader.GetString("StuName") + "\t" + DataReader.GetString("StuNo") + "\t"

+ "\t" + DataReader.GetString("Age"));//"userid"是数据库对应的列名,推荐这种方式 }

}

catch (MySqlException exe)

{

MessageBox.Show(exe.Message);//有错则报出错误 }

finally

{

connect.Close();//关闭通道 }

}

}

}

3.3 ExecuteScalar:执行一个命令,返回一个值。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace mysql

{

public partial class UserControl1: UserControl

{

public UserControl1()

{

InitializeComponent();

}

static string conStr = "server=localhost;port=3306;user=root;password=11xxjlw520; database=mysql_test;";//password 输入你所建立数据库的密码

private void Button1_Click(object sender, EventArgs e)

{

MySqlConnection connect = new MySqlConnection(conStr);

try

{

connect.Open();//建立连接,可能出现异常,使用try catch语句

string SqlStr = "select now()";

MySqlCommand cmd = new MySqlCommand(SqlStr, connect);

object Ret = cmd.ExecuteScalar();

MessageBox.Show("数据库服务器当前系统时间是:"+Ret.ToString());

}

catch (MySqlException exe)

{

MessageBox.Show(exe.Message);//有错则报出错误

}

finally

{

connect.Close();//关闭通道

}

}

}

}

4.数据绑定:将我们需要的数据与显示的控件联系在一起。下面将实现使用DataGridView控件来显示连接数据源的详细数据。

step 1:创建Windows窗体程序

step 2:建立和数据库mysql_test的连接(向导法和程序法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery右下角自动弹出关闭层

效果体验&#xff1a;http://keleyi.com/keleyi/phtml/jqtexiao/36.htm右下角弹出层后&#xff0c;会在一定时间后自动隐藏。第一版本&#xff1a;http://www.cnblogs.com/jihua/archive/2012/10/10/youxiajiao.htmlhtml代码&#xff1a; <!DOCTYPE HTML> <html xmlns…

mysql中的double类型_MySQL中float、double、decimal三个浮点类型的区别与总结!

作者&#xff1a;极客小俊 一个专注于web技术的80后我不用拼过聪明人&#xff0c;我只需要拼过那些懒人 我就一定会超越大部分人!CSDN极客小俊&#xff0c;原创文章, B站技术分享个人博客: cnblogs.com前端htmlcssjavascript技术讨论交流群: 281499395后端phpmysqlLinux技术交流…

TIJ摘要:访问控制权限

重构的原动力之一&#xff1a;发现有更好的方式去实现相同的功能。OOP需要考虑的基本问题&#xff1a;如何把变动的事物与不变的事物区分开来。访问控制权限&#xff1a;以供类库开发人员向客户端程序员指明哪些是可用的&#xff0c;哪些是不可用的。访问控制的等级&#xff0c…

当电压放大电路的开路增益和输出电阻固定后_晶体管放大电路的性能分析与应用...

关于三极管共射极放大电路的基本分析方法(见附录1)&#xff0c;我们之前有聊过。本文重点与大家分享下电路的性能分析&#xff0c;尤其电路的频率响应与选频特性&#xff0c;还是非常有趣的。主要内容有&#xff1a;输入输出电阻通频带如何提高放大倍数1节5号电池可以放大电路吗…

移动设备和SharePoint 2013 - 第5部分:自定义应用

博客地址&#xff1a;http://blog.csdn.net/foxdave原文地址在该系列文章中&#xff0c;作者展示了SharePoint 2013最显著的新功能概观——对移动设备的支持。该系列文章&#xff1a;移动设备和SharePoint 2013 - 第1部分&#xff1a;概述移动设备和SharePoint 2013 - 第2部分&…

Leetcode 172 Factorial Trailing Zeroes

1、题目要求 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. 题目意思是求n的阶乘后面末尾0的个数&#xff0c;并且时间复杂度是对数级别。 2、分析 一个数 n 的阶乘末尾有多少个 0 取决于从…

java递归实现多级菜单栏_java利用递归调用实现树形菜单的样式

一&#xff1a;需求现有以需求就是把某一个帖子的全部评论展示出来。二&#xff1a;分析关于对帖子的评论分为主评论和子评论&#xff0c;主评论就是对帖子的直接评论&#xff0c;子评论就是对评论的评论。三&#xff1a;思路先获取某一个帖子的全部主评论&#xff0c;递归判断…

mysql in 保持顺序_IN条件结果顺序问题_MySQL

bitsCN.comIN条件结果顺序问题项目中需要记录用户的浏览历史&#xff0c;我的意见是前端直接存cookie里&#xff0c;可是前端说cookie内容太多&#xff0c;要求传递id&#xff0c;后端返回数据&#xff0c;结果就产生如下的问题。1.据前端说&#xff0c;url中的数组传递是无序的…

(部分转载,部分原创)java大数类(2)

NYOJ 773 开方数 http://acm.nyist.net/JudgeOnline/problem.php?pid773 1 import java.util.Scanner;2 3 public class Main{4 public static void main(String[] args){5 int n;6 double p;7 Scanner cin new Scanner(System.in);8 w…

mysql 分类汇总_sql多级分类汇总实现介绍

t1id parentidm an ae mf mx fy fz bt2row id amount1 a 13.002 b 20.003 e 20.004 f 20.005 x 20.006 y 20.007 z 20.008 e 12.009 x 11.0010 f 13.00如何得出如下结果&#xff1a;row id amount7 x 20.0011 x 11.00x小计 31.008 y 20.00y小计 20.006 f 20.0012 f 13.00f小计 …

Altium Designer哪里下载和导入元件库_图文教程

http://jingyan.baidu.com/article/46650658064621f549e5f88f.html转载于:https://www.cnblogs.com/Ph-one/p/4397460.html

python3 logging com1_python-logging-基础(1)

在执行用例的时候&#xff0c;往往会遇到各种问题&#xff0c;遇到问题后很难去定位import loggingclass Logs:def __init__(self,filepath,name):#self.namename#self.filepathfilepathself.configRead_config(Config_Http)#重新定义日志名字self.loggerlogging.getLogger(sel…

拷贝人家的

TCP server端 #include "stdafx.h" #include <stdio.h> #include <winsock2.h>#pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[]) {//初始化WSAWORD sockVersion MAKEWORD(2,2);WSADATA wsaData;if(WSAStartup(sockVersion…

python问题解决方案_Python安装、遇到的问题及解决方案,python,和,方法

Python安装&#xff1a;先在官网下载你需要的Python版本&#xff0c;我这边下载的是Python3.8&#xff0c;下载完是一个exe文件&#xff0c;直接双击安装即可&#xff0c;注意勾选“add python 3.8 to path”安装后遇到的问题&#xff1a;1.安装完成后在cmd中输入Python查看版本…

python 复数求模_Python基础语法知识汇总(学习党的最爱!)

本文章包含了Python一系列基本知识&#xff0c;其中包括&#xff1a;基本数据类型&#xff08;整数&#xff0c;浮点数&#xff0c;复数&#xff0c;字符串&#xff09;&#xff1b;分支语句&#xff1b;异常处理&#xff1b;函数&#xff1b;局部变量与全局变量&#xff1b;递…

JAVA装mysql_已经安装了mysql,怎么能在java程序里使用SQL?

展开全部1、安装62616964757a686964616fe4b893e5b19e31333335323437SQLServer2000安装SQLServer2000补丁SP3安装SQLServer2000 for SP3的驱动程序(先打补丁sp3&#xff0c;再安装针对sp3的驱动程序&#xff0c;安装补丁时&#xff0c;为保险起见&#xff0c;两种验证方式的都装…

用对工具,抖音、某站视频轻松下载~

相信大部分小伙伴都有过这样的困扰&#xff0c;平时我们在刷短视频的时候就发现一段我们需要的视频。想下载时才发现&#xff0c;“保存”按钮是灰色的。 这个时候我们可以通过复制视频链接的方式来下载视频。下面给大家介绍四种万能视频下载工具&#xff0c;大家记得点赞收藏再…

数字的空洞 水 南邮NOJ 1071

数字的空洞 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 209 测试通过 : 120 题目描述 在个位数中&#xff1a;0&#xff0c;4&#xff0c;6&#xff0c;8&#xff0c;9有一个共同的特征&#xff1a;数形上存在空洞&…

bzoj 1257: [CQOI2007]余数之和sum 数论

1257: [CQOI2007]余数之和sum Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id1257Description 给出正整数n和k&#xff0c;计算j(n, k)k mod 1 k mod 2 k mod 3 … k mod n的值&#xff0c;其中k mod i表示k除以i的…

flask 上传excel 前端_flask-restful编写上传图片api

Flask-RESTful是用于快速构建REST API的Flask扩展。我最近在使用Flask-Restful Vue.js写一个轻量博客时有一个前端后端上传图片的需求。在Flask-Restful的官方文档中并没有相关的内容。下面是我谷歌查找资料的总结。引入FileStorageflask-restful的参数解析中并没有文件类型&a…