【问题标题】:How to insert a record in a child table?如何在子表中插入记录?
【发布时间】:2012-08-25 19:26:39
【问题描述】:

我有 3 个名称为 uservideorecommendedvideos 的表。 user 表保存有关注册用户的信息,recommendedvideos 表保存有关用户选择哪个视频作为他最喜欢的视频的信息。

视频表 ------------- 变量(pk), 标题, 用户(对于 userTbl 的 fk) 用户表 ------------ 用户(pk), 经过 推荐视频表 ------------------------------ 变量(pk,对于 videoTBL 的 fk), 用户(pk,对于 userTBL 的 fk), 日期, 地位

我的问题是,当我想在推荐视频表中插入一条记录时,我遇到了一个问题,尽管我遵守了 fk 的约束。

com.CommandText = " Insert into recommendedvideos(Variable, User, Date, Status )"
                    + "VALUES(Variable, User, Date, Status )";

            com.Parameters.AddWithValue("@Variable", Variable);
            com.Parameters.AddWithValue("@User", User);
            com.Parameters.AddWithValue("@Date", Date);
            com.Parameters.AddWithValue("@Status", Status);

            connect.Open();
            com.ExecuteNonQuery();
            connect.Close();

我收到此错误

无法添加或更新子行:外键约束失败(aspdb.recommendedvideos, CONSTRAINT recommendedvideos_ibfk_1 FOREIGN KEY (Variable) REFERENCES video (Variable))

我的代码有什么问题?

【问题讨论】:

  • 您是如何制作推荐表的主键的?

标签: c# asp.net mysql


【解决方案1】:

编辑刚刚注意到您在声明中没有正确设置您的参数!任何参数前面都必须有@(假设您使用的是 SqlParameter 和 SqlCommand 对象。如果您使用的是 OleDbCommand 改用this syntax

com.CommandText = " Insert into recommendedvideos(Variable, User, Date, Status )"
                + "VALUES(@Variable, @User, @Date, @Status )";

        com.Parameters.AddWithValue("@Variable", Variable);
        com.Parameters.AddWithValue("@User", User);
        com.Parameters.AddWithValue("@Date", Date);
        com.Parameters.AddWithValue("@Status", Status);

        connect.Open();
        com.ExecuteNonQuery();
        connect.Close();

【讨论】:

  • 亲爱的 Pilgerstorfer 我确定表视频中的变量字段有一个值,我想在推荐视频表和用户表中的用户字段中插入相同的值。我也在 vs2010 中使用调试工具,但似乎每件事都运行良好。你有什么想法吗? TQ
  • 根据给定的详细信息重写了答案 - 希望对您有所帮助!
  • 天啊!我犯了多么不明智的错误!现在可以了。 Tq 这么多我所有的朋友 :)
  • 如果您发现我的答案有用 - 您可以考虑将其标记为最佳答案 - 提前谢谢
  • 对不起,亲爱的 Pilgerstorfer Franz。我不熟悉那里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多