c# - 当我使用带参数的 Insert Into 语句时出现 fatal error

标签 c# mysql database image fatal-error

我正在尝试使用 Visual Studio 2010 在 mysql 数据库表中添加一行,到目前为止我还没有遇到问题。我不断收到错误:

"Fatal error encountered during command execution."

表结构:

delimiter $$

CREATE TABLE `magazine_images` (
  `image_id` int(11) NOT NULL AUTO_INCREMENT,
  `MagazineKey` int(5) DEFAULT NULL,
  `image_type` varchar(45) NOT NULL,
  `image` blob,
  `image_size` varchar(45) NOT NULL,
  `image_ctgy` varchar(45) NOT NULL,
  `image_name` varchar(50) NOT NULL,
  PRIMARY KEY (`image_id`),
  KEY `image_magazine` (`MagazineKey`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$

C 夏普查询:

string image = "INSERT INTO magazine_images (MagazineKey, image, image_type, image_size, image_ctgy, image_name) " +
                    "VALUES(@magkey, @image, @image_type, @image_size, @image_ctgy, @image_name)";
            this.cmd = new MySqlCommand(putImage, this.con);
            this.read = this.cmd.ExecuteReader();
            this.read.Read();
            this.cmd.Parameters.AddWithValue("@magkey", int.Parse(labelKey.Text));
            this.cmd.Parameters.AddWithValue("@image", textBoxImageFile.Text);
            this.cmd.Parameters.AddWithValue("@image_name", textBoxImageName.Text);
            this.cmd.Parameters.AddWithValue("@image_type", comboBoxImageType.Text);
            this.cmd.Parameters.AddWithValue("@image_ctgy", textBoxImageCategory.Text);
            this.cmd.Parameters.AddWithValue("@image_size", labelImageSize.Text);
            this.read.Close();

最佳答案

您的代码不完整,或者您当前正在执行查询之后添加查询参数 - 您必须在查询执行之前执行此操作。

此外,您甚至没有使用 image 变量 - 您正在使用您尚未显示的 putImage 。第三,您不应该使用 ExecuteReader() - 这仅用于检索,但您正在执行插入操作,因此您需要 ExecuteNonQuery()

总之:要么您存在大量复制和粘贴错误,要么您的示例未反射(reflect)您的真实代码。

关于c# - 当我使用带参数的 Insert Into 语句时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053635/

相关文章:

c# - EPPlus 中的自动列宽

mysql - 如何证明 SQL 查询数据的完整性和有效性?

Java/安卓。 int = 文本?

mysql - 如何将数据库中两个表中的连接条目显示为 HTML 表?

C# Webservice 响应 xml 显示为 pdf

c# - 如何使用 .NET Core MVC 框架将 TwiML 实现为一种方法?

c# - BringIntoView 方法

java - Java servlet 中的大 Json 数据

mysql - 自动更新 Google Cloud SQL 上的时区

c# - 向数据库中插入一行