使用c插入mysql表

本文关键字:mysql 插入 使用 | 更新日期: 2023-09-27 17:57:27

我正试图使用C#将一些数据插入到MySql表中,但我遇到了一些问题我添加了MySql.Data.MySqlClient引用。

我在网上浏览了一些教程,发现了一些代码,比如cmd.Parameters.AddWithValue;然而,当我试图写这段代码时,却不知道为什么?它只显示.Add

我创建了一个简单的表"inf",它有一个id、名称和姓氏,其中id是主键,位于autoIncrement上。我的代码如下:

string connString = "Server=localhost;Database=insertdeneme;Uid=****;Pwd=********;";
MySqlConnection mcon = new MySqlConnection(connString);
mcon.Open();
string cmdText = "INSERT INTO inf VALUES (null, @name, @surname)";
MySqlCommand cmd = new MySqlCommand(cmdText, mcon);
cmd.Parameters.Add("@name", txtname.Text);
cmd.Parameters.Add("@surname", txtsurname.Text);
cmd.ExecuteNonQuery();

程序编译,但当我按下按钮时,我得到以下错误:

列计数与第1行的值计数不匹配

当我从值中删除null时,我得到:

列"name"不能为空

那么,你认为代码有什么问题?

编辑:我有一个表单,两个文本框和一个按钮(txtname.text,txtsurname.text,btn.register)。我添加了mysql.data.mysqlclient引用。

我使用phpMyAdmin创建了一个数据库,在我的表中,我有id name和姓氏,其中id是主要的,并以11位数字自动递增,name姓氏是varchar类型,限制为255个字符,其余代码如上所述。

我也不明白为什么我不能使用addwithvalue

错误1"MySql.Data.MySqlClient.MySqlParameterCollection"不包含"addWithValue"的定义,也找不到接受"MySql.Data.MySqlClient.MySqlParameterCollection"类型的第一个参数的扩展方法"addWithValue"(是否缺少using指令或程序集引用?)C:''Users''FOREVER''documents''visual studio2010''Projects''InsertInto1''InsertInto''Form1.cs 63 32 InsertInto1

使用c插入mysql表

我认为你的给定id是autoincrement,如果你提到autoincremental意味着没有提到null value,你必须删除null,。。

更新:1

string cmdText= "INSERT INTO inf(name, surname) VALUES (@name, @surname)";
MySqlCommand cmd = new MySqlCommand(cmdText, mcon);
cmd.Parameters.AddWithValue("@name", TextBox1.Text);
cmd.Parameters.AddWithValue("@surname", TextBox2.Text);
cmd.ExecuteNonQuery();

id是主键,它在自动递增上

然后不要尝试插入id特别是不要试图在主键中插入null值。由于您只在表的两列中插入数据,请指定这些列:

INSERT INTO inf (name, surname) VALUES (@name, @surname)