我正在尝试使用 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();
程序编译但是当我按下按钮时出现以下错误:
Column count doesn't match value count at row 1
当我从我得到的值中删除 null 时:
Column 'name' cannot be null
那么你认为代码的问题是什么?
已编辑:我有一个表单、两个文本框和一个按钮(txtname.text、txtsurname.text、btn.register)。我添加了 mysql.data.mysqlclient
引用。
我使用 phpMyAdmin 创建了一个数据库,在我的表中我有 id name 和 surname,其中 id 是主要的并且自动递增 11 位数字,name surname 是 varchar 类型,限制为 255 个字符和其余代码以上。
我也不明白的是为什么我不能使用 addwithvalue
。
Error 1 'MySql.Data.MySqlClient.MySqlParameterCollection' does not contain a definition for 'addWithValue' and no extension method 'addWithValue' accepting a first argument of type 'MySql.Data.MySqlClient.MySqlParameterCollection' could be found (are you missing a using directive or an assembly reference?) C:\Users\FOREVER\documents\visual studio 2010\Projects\InsertInto1\InsertInto1\Form1.cs 63 32 InsertInto1
最佳答案
我认为你给出的 id 是自动递增的,如果你提到自动递增意味着不提到 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();
关于c# - 使用c#插入到mysql表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22936361/