[英]C# inserting table, error
我在將數據插入表格時遇到問題。 我不知道什么是數據庫模型或模式看起來像因為我只是在現有程序中找到並修復錯誤,直到我遇到此錯誤
MySql.Data.MySqlClient.MySqlException (0x80004005): Cannot add or update a child row: a foreign key constraint fails (`my_database`.`movies_class`, CONSTRAINT `fk_movies_class_movies1` FOREIGN KEY (`movie_id`) REFERENCES `movies_notworking` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
這是我的代碼
public void tabinsertcheck(MySqlConnection myconn, DataGridView dgv, int intid)
{
for (int i = 0; i < dgv.Rows.Count; i++)
{
if (dgv[0, i].Value != null)
{
if ((bool)dgv[0, i].Value)
{
StringBuilder sqry = new StringBuilder();
sqry.Append("select max(id) from movies_class");
MySqlCommand cmd = new MySqlCommand(sqry.ToString(), myconn);
int max_id = Convert.ToInt32(cmd.ExecuteScalar())+1;
sqry = new StringBuilder();
sqry.Append(String.Format("insert into movies_class values({0},{1},{2})",
max_id,intid, dgv[3, i].Value.ToString()));
if (myconn.State == ConnectionState.Closed)
myconn.Open();
cmd = new MySqlCommand(sqry.ToString(), myconn);
cmd.ExecuteNonQuery();
cmd.Dispose();
myconn.Close();
}
}
}
}
我正在使用循環,因為我在數據庫中保存的每個復選框都有很多復選框,我不知道如何修復它。 提前致謝
您正在試圖插入一行到movies_class
表格,表格中的值movie_id
場並不在存在movies_notworking
表Id
字段。 檢查數據並確保為表中的參考字段插入正確的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.