sách gpt4 ai đã đi

c# - INSERT,以及如何将 INSERT 插入到多个表中

In lại 作者:太空宇宙 更新时间:2023-11-03 12:23:11 27 4
mua khóa gpt4 Nike

所以我有这个表格: ../../../vZYssQy.png

Hiện nay NHẬN DẠNG,First Name,Last Name,DOB,Address,Phone NumberPost Code 文本框应该插入到名为 person 的表中(这有效,它会插入)

我的代码是:

public static void insertStudent(int personId, string firstName, string lastName, string DOB, int phoneNumber, string address, int postCode, string majorField, int gradePointAverage)
{
MySqlConnection conn = connection();
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
string myInsertSQL = "INSERT INTO person(personId, firstName, lastName, DOB, phoneNumber, address, postCode) VALUES (@personId, @firstName, @lastName, @DOB, @phoneNumber, @address, @postCode)";
cmd.Prepare();
cmd.CommandText = myInsertSQL;
cmd.Parameters.AddWithValue("@personId", personId);
cmd.Parameters.AddWithValue("@firstName", firstName);
cmd.Parameters.AddWithValue("@lastName", lastName);
cmd.Parameters.AddWithValue("@DOB", DOB);
cmd.Parameters.AddWithValue("@phoneNumber", phoneNumber);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@postCode", postCode);
cmd.ExecuteNonQuery();
}

但是另外两个文本框,GPAMajor Field 需要转到名为student 的单独表中。我的代码是:

 string myInsertSQLStudent = "INSERT INTO student(majorField, gradePointAverage) VALUES (@majorField, @gradePointAverage)";
cmd.Prepare();
cmd.CommandText = myInsertSQLStudent;
cmd.Parameters.AddWithValue("@majorField", majorField);
cmd.Parameters.AddWithValue("@gradePointAverage", gradePointAverage);
prevID(conn, cmd);

就在上面的代码下面。但是,这不起作用,我遇到了崩溃,并收到一条消息,告诉我 无法添加或更新子行:外键约束失败 然后它谈到了主键。

但是,如果我填写文本框,然后单击 chèn,程序会崩溃,但是 person 表会填满数据,但它可以正常工作,但是student 表没有。

我将如何让它发挥作用?

Cảm ơn!

biên tập:

这是我的个人表:

personId | firstName | lastName | DOB | phoneNumber | address | postCode |

blah |blah |blah |blah |blah |blah |blah |blah

这是我的学生 table

person_personId | majorField | gradePointAverage |
balh |blah |blah |

1 Câu trả lời

student 表可能有一个personId 字段,它引用了person 表。你也必须填写它(在你的第二个插入中)。

此外,您最好将两个插入都放在一个事务中,这样您就不会得到不一致的或有点工作的数据。通过交易,您将获得两条记录或一条记录都没有,而不是像现在这样只有一条记录。

关于c# - INSERT,以及如何将 INSERT 插入到多个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18823766/

27 4 0
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com