c# mysql insert_VS2019 C# 连接mysql,添加数据(Insert)

https://blog.csdn.net/weixin_35698069/article/details/113377622

1.在项目目录下添加MySql.Data.dll

首先找到MySql.Data.dll,我的路径为:C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2

 

复制到项目目录下:

 

在代码中引用命名空间:

using MySql.Data.MySqlClient;

做完之后,在编译时可能会报错:未能找到类型或命名空间名称xxx。

明明添加引用了,为什么不行呢?因为版本号的问题!

2.版本号

注意MySql.Data.dll的版本号,和.NET framework的版本号(VS里面有很多,可调)要一致。

 

右击项目名称(exp6)->属性->应用程序:

 

3.代码

string connStr = string.Format("user=root;pwd=123456;server=127.0.0.1;database=db1;");

MySqlConnection conn = new MySqlConnection(connStr);

conn.Open();

string data_in = "insert into 表明(列表名1,列表名2) values('" + "1" + "','" + "2" + "','";

data_in += "')";

MySqlCommand cmd = new MySqlCommand(data_in, conn);

cmd.ExecuteNonQuery();

conn.Close();

如果用户名,密码,数据库名,表名都正确的话,就可以连接上。

如果句子的语法出错,就会报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘XXXX’ at line X。

添加语句的语法:写给我自己看的,一度十分困惑

众所周知,在mysql中,字符串需要加单引号;而在C#中,字符串需要加双引号。

比如列表名1为user,varchar(10)类型,列表名2为pwd,varchar(10)类型。

向其中插入数据user=123,pwd=456,

正常的sql语句:

insert into table_name(user,pwd) values('123','456');

而在C#中,这句话本身是一个字符串,所以在这个语句的基础上,该加双引号的地方就要加双引号。

如果是常数数据,可以直接在整个sql语句上面加双引号,完事。

str = "insert into table_name(user,pwd) values('123','456');"

然而事情往往不会这么简单。

如果添加的数据是其他地方得来的,不是直接就能写进去的,比如 str1 = “123”,str2=“456”,添加语句为data_in;

data_in = "insert into table_name(user,pwd) values('"+str1+"','"+str2+"',)";

分步详细说明(我真是个小垃圾 ):

首先是前面的语句,一直到第一个单引号, insert into table_name(user,pwd) values(’

句子最后的单引号是sql语句的单引号,双引号是字符串的双引号!

data_in = "insert into table_name(user,pwd) values('"

然后加第一个数据,str1

data_in += str1;

其次是字符串1后面那个引号,逗号,以及字符串2之前的单引号,

data_in += "','";

接着是第2个数据,str2

data_in += str2;

最后是字符串2后面那个引号,和最后的括号。

data_in += "')";

posted @ 2022-12-09 11:18  yinghualeihenmei  阅读(480)  评论(0编辑  收藏  举报