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, @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查询:
CREATE TABLE pic
(
id_pic INTEGER UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id of image',
caption CHAR(45) NOT NULL COMMENT 'the name of image',
who_add CHAR(30) NOT NULL COMMENT 'who add this image',
img LONGBLOB NOT NULL,
CONSTRAINT pkId_pic PRIMARY KEY(id_pic)
)
COMMENT 'Table for hosting images';
不知道该怎么做。等待回复)
答案 0 :(得分:0)
更改名为“name”的列或变量的名称。
name / Name通常是保留字。
可能是问题。
答案 1 :(得分:-1)
请记住,mysql .net连接器中的参数标识符为?
而不是@
随机评论
查看SQL代码时,我注意到您使用char
来查找更像varchar
字段的字段。将列定义为char时,它将为您放入表中的所有条目保留定义的空间量。
示例:
create table test (
myvalue char(255)
)
无论你只是将“a”或“hello world”放入myvalue
列,它都会保留磁盘上255个字符的字符串空间。请记住它。