C# 第1行的数据太长
我正试图用c语言更新数据库中一行名为gestion_concur的内容# 我填充文本框,这样查询就会像C# 第1行的数据太长,c#,mysql,C#,Mysql,我正试图用c语言更新数据库中一行名为gestion_concur的内容# 我填充文本框,这样查询就会像 update gestion_concour.concour set Code = 'CAEPST', Designation = 'Concours Accées a EPST', Specialite = 'EPST' where Code = '3'; 我得到了这个 我试图在woekbench中通过查询,结果很好。 那么问题是什么呢 (代码是VARCHAR(10))那么,您使用的是Ex
update gestion_concour.concour set Code = 'CAEPST', Designation = 'Concours Accées a EPST', Specialite = 'EPST' where Code = '3';
我得到了这个
我试图在woekbench中通过查询,结果很好。
那么问题是什么呢
(代码是VARCHAR(10))那么,您使用的是
ExecuteReader
。如果要执行更新命令,应使用ExecuteNonQuery
。因此:
try
{
int i = mcmd.ExecuteNonQuery();
}
这句话似乎也错了:
mcmd.Parameters.AddWithValue("@N_Code", input_Des);
mcmd.Parameters.AddWithValue("@N_Des", input_Des);
似乎您添加的是名称而不是代码。也许应该是:
mcmd.Parameters.AddWithValue("@N_Code", input_Code );
更改此选项也不会造成伤害,只是为了确保后面没有导致问题的空间:
string input_Code = Code.Text.Trim();
string input_Des = Des.Text.Trim();
string input_Spe = Spe.Text.Trim();
string selected = ConcourList.Text.Trim();
看起来您为参数使用了错误的变量。试一试
mcmd.Parameters.AddWithValue("@N_Code", input_Code );
而不是
mcmd.Parameters.AddWithValue("@N_Code", input_Des);
我可能会做这些事情来找出哪里出了问题-
code
列实际上是varchar(10),请检查数据库input\u code
的值是否为“CAEPST”mcmd.Parameters.AddWithValue(“@N_code”,code.Text.ToString())代码>
mcmd.Parameters.AddWithValue(“@N_code”,“CAEPST”)代码>
希望有帮助。:)
mcmd.Parameters.AddWithValue(“@N_code”,输入Des)代码>看起来不对我想你的问题可以通过在concurlist后面添加一个Trim来解决。Text@Wimmel对不起,弗雷普error@IlyesGHOMRANIinput\u code
的值是多少?正确,但这很难解决如何更改的问题??对不起,我还是一样probleme@IlyesGHOMRANIinput\u code
的值是多少?@IlyesGHOMRANI您是否绝对确定code
是varchar(10)?在调试器中查看时,input\u code
的值是否为“CAEPST”?
mcmd.Parameters.AddWithValue("@N_Code", input_Des);