C# 我在执行命令时遇到了致命错误
C#代码://这里我试图在表中插入值C# 我在执行命令时遇到了致命错误,c#,mysql,C#,Mysql,C#代码://这里我试图在表中插入值 case true: Connection.Connect(); int fk_pic = IdPic(); string insertWork = "INSERT INTO work (fk_id_pic, fk_login, university, lesson, name, info, date_work, price) VALUES (@fk_pic, @fk_login, @university, @lesson,
case true:
Connection.Connect();
int fk_pic = IdPic();
string insertWork = "INSERT INTO work (fk_id_pic, fk_login, university, lesson, name, info, date_work, price) VALUES (@fk_pic, @fk_login, @university, @lesson, @name, @info, @date_work, @price); Allow User Variables = true;";
MySqlCommand work = new MySqlCommand(insertWork, Connection.Connect());
work.Parameters.AddWithValue("@fk_pic", fk_pic);
work.Parameters.AddWithValue("@fk_login", Program.form1.login);
work.Parameters.AddWithValue("@university", textBox1.Text);
work.Parameters.AddWithValue("@lesson", textBox2.Text);
work.Parameters.AddWithValue("@name", textBox3.Text);
work.Parameters.AddWithValue("@info", richTextBox1.Text);
work.Parameters.AddWithValue("@date_work", DateTime.Now);
work.Parameters.AddWithValue("@ price", textBox4.Text);
work.ExecuteNonQuery();
Connection.Disconnect();
break;
SQL查询:
创建表pic
(
id\u pic整数无符号非空自动增量注释“图像id”,
标题字符(45)非空注释“图像名称”,
who_add CHAR(30)非空注释“who add this image”,
img LONGBLOB不为空,
约束pkId_pic主键(id_pic)
)
注释“图片托管表”;
不知道该怎么办。等待响应)更改名为“name”的列或变量的名称 name/name通常是一个保留字
这可能就是问题所在。请记住,mysql.net连接器中的参数标识符是
?
,而不是@
随机评论
查看SQL代码,我注意到您对听起来更像varchar
字段的字段使用了char
。将列定义为char时,它将为放入表中的所有条目保留定义的空间量
例如:
create table test (
myvalue char(255)
)
无论您只在
myvalue
列中输入“a”或“hello world”,它都会在磁盘上保留255个字符的字符串空间。请记住这一点。您可以发布错误的详细信息吗?例如异常消息?“work.Parameters.AddWithValue(“@price”,textBox4.Text);”-可能不应该在“@”后面有空格。您可以提供异常消息和内部异常(如果有)吗?为什么在代码中插入工作表时显示pic
表结构?