首页 > 数据库 >C#访问MySql原始版

C#访问MySql原始版

时间:2024-04-24 12:33:38浏览次数:22  
标签:Console C# mysql 访问 MySql var new dt conn

谢谢sqlpub提供的免费mysql环境!!

本文演示了C#使用ADO.NET访问MySql的原始写法。旨在初学者顺利入门。

MySql.Data.MySqlClient由nuget获得,vs2022,.net8调试通过。

我的博客的数据库操作类,也是基于这些基本操作封装而来。

代码如下:

 1 using MySql.Data.MySqlClient;
 2 using System.Data;
 3 
 4 namespace ConsoleApp1
 5 {
 6     internal class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             //初始化各种参数
11             var db_name = "数据库名称";
12             var ip_add = "服务器域名或ip";
13             var port = "端口";
14             var user_name = "用户名";
15             var user_pass = "密码";
16             //设置连接字符串
17             var s1 = $"Database={db_name};Data Source={ip_add};port ={port};User Id={user_name};Password={user_pass};allow zero datetime=true; Charset = utf8;Allow User Variables = True";
18             
19             //路
20             var conn=new MySqlConnection(s1);
21             //车
22             MySqlDataAdapter myda;            
23             //订单
24             string mysql_text = "select * from t1";
25             //路、车、订单匹配
26             myda= new MySqlDataAdapter(mysql_text,conn);
27 
28             //货箱
29             DataSet myds = new DataSet();
30             //存放查询结果的表
31             DataTable dt;
32 
33             try
34             {
35                 //打开道路
36                 conn.Open();
37                 //数据装箱
38                 myda.Fill(myds, "No1");
39                 conn.Close();
40             }
41             catch (Exception e1)
42             {
43                 Console.WriteLine(e1.Message);
44             }
45 
46             //从货箱取出数据,装在表里
47             dt = myds.Tables["No1"] ?? new DataTable();
48             //显示
49             for (int j = 0; j < dt.Columns.Count; j++)
50             {
51                 Console.Write(dt.Columns[j].ColumnName + "\t");
52             }
53             Console.WriteLine();
54             for (int i = 0; i < dt.Rows.Count; i++)
55             {
56                 for (int j = 0; j < dt.Columns.Count; j++)
57                 {
58                     Console.Write(dt.Rows[i][j].ToString() + "\t");
59                 }
60                 Console.WriteLine();
61             }
62         }
63     }
64 }

运行结果:

 对于增删改,需要修改命令和车(由数据适配器改为命令),其余变动不大。

修改部分代码如下:

 1 //命令
 2 string mysql_text = "insert into t1 values('yxl',25)";
 3 //车,组装路和命令
 4 var mycomm = new MySqlCommand(mysql_text, conn);
 5 
 6 try
 7 {
 8     int c;
 9     conn.Open();
10     c = mycomm.ExecuteNonQuery();
11     conn.Close();
12 }
13 catch (Exception e1)
14 {
15     Console.WriteLine(e1.Message);
16 }

第八行的c,用于返回受影响的记录数。

调用前面的查询代码后,结果如下:

 (完)

标签:Console,C#,mysql,访问,MySql,var,new,dt,conn
From: https://www.cnblogs.com/wanjinliu/p/18154758

相关文章

  • c++
     如何验证gcc正常使用,编译c以及运行过程要验证GCC(GNUCompilerCollection)是否正常使用,您可以按照以下步骤进行操作:检查GCC是否安装:打开终端或命令行界面,输入以下命令来检查GCC是否已安装:gcc--version 如果GCC已正确安装,您将看到GCC的版本信息。如果没有安装,您......
  • Excel为批注设置图片背景 出现Bad Request - Request Too long
    Excel为批注设置图片背景  打开EXCEL点击文件 点选项 点击信任中心 点击信任中心设置 点击隐私选项 点击隐私设置 取消全部勾选  在填充效果中在选图片出现 点脱机工作  就可以正常先图片了......
  • C++ 指针变量的字面量以及其所指对象的字面量
    指针变量的字面量以及其所指对象的字面量 #include<iostream>usingnamespacestd;intmain(){intvar=20;int*var_address;var_address=&var;cout<<"Valueofvarvariavle:"<<var<<endl;//Valueofvarvari......
  • C#使用MiniExcel导入导出数据到Excel/CSV文件【IO操作】
    MiniExcel简介简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel尝试以Stream角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。 特点:   低内存耗用,避免OOM......
  • 伯克利大学 CS61B Lab配置教程
    基本过程:首先将伯克利大学的代码框架下载到自己的电脑,然后我们直接在框架里修改就行将自己的代码上传到github上,然后使用伯克利大学的Gradescope评测自己写的代码下载代码在自己电脑桌面新建一个文件夹,这里我命名为:cs61b,打开gitbash,使用cd进入我们新创建的文件夹,注意路径......
  • mysql 货币类型 选择
    结论:我们的选择是int和bigint,以分为单位来存;一个外国人的视频讲解了,我直接按重点截图了,连接地址:【在MySQL中存储货币的正确方式:不要使用float或double,要用decimal或integer/bigint!】https://www.bilibili.com/video/BV15N4y147YE?vd_source=025a1c967fa95b3dcfb9b276......
  • source 1.5 中不支持 lambda 表达式, Deployment failed repository element
    1、java:[400,90]错误:-source1.5中不支持lambda表达式Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile(default-compile)onproject原因是未指定版本,默认用jdk1.5在编译<plugins><!--指定maven编译的jdk版本,如果不指......
  • 为什么自动驾驶领域发论文都是用强化学习算法,但是实际公司里却没有一家使用强化学习算
    为什么自动驾驶领域发论文都是用强化学习算法,但是实际公司里却没有一家使用强化学习算法?——(特斯拉今年年初宣布推出实际上第一款纯端到端的自动驾驶系统,全部使用强化算法,替换掉原有的30万行C++的rule-based代码)给出一个自己比较认可的答案:https://www.zhihu.com/question/54......
  • Computer Basics 10 - Setting Up a Computer
     Settingupacomputer НастройкакомпьютераSoyouhavea newcomputer andyou'rereadytosetitup.Thismayseemlikeanoverwhelming/ˌəʊvəˈwelmɪŋ/andcomplicated /ˈkɒmplɪkeɪtɪd/task,butit'sactuallyaloteasier......
  • C++ 指针变量的字面量以及其所指对象的字面量
     指针变量的字面量以及其所指对象的字面量 #include<iostream>usingnamespacestd;intmain(){intvar=20;int*var_address;var_address=&var;cout<<"Valueofvarvariavle:"<<var<<endl;//Valueofvarv......