【发布时间】:2014-05-06 02:58:52
【问题描述】:
我正在尝试将数据库中两个表中的数据添加到一个表中,但我在代码中遇到了一些困难。我需要为用户创建一个预订火车票的选项,并且他们的 ID 和车票的 ID 需要显示在新表中(预订)
这是一个例子:
User:
ID: 5
Name: Jack
Last Name: Jones
Ticket:
ID: 9
Name: London
结果
Booking table:
BookingId: 1
UserId: 5
BookId: 9
这是我目前的代码
try
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = myConnection;
cmd.CommandText = "SELECT User.ID, Ticket.ID AS Reservation FROM (User INNER JOIN Ticket ON User.ID = Ticket.ID)";
cmd.CommandText = "INSERT INTO Reservation(ID_user, ID_ticket)" + "values(@User.ID, @Ticket.ID)";
myConnection.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Ticket added");
myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
请帮帮我!
【问题讨论】:
-
您的第一个
CommandText毫无意义。因为你正在执行第二个。您尝试使用参数化查询,但您从未向@User.ID和@Ticket.ID添加值。 -
@SonerGönül 我该怎么做?
-
您将 RESULT 显示为 Booking 表,并在您的代码中插入 Reservation 表。当您尝试在 Reservation 表中插入时,数据是否已经存在于 Booking 表中,或者 Booking 表和 Reservation 表是同一个并且您在输入时输入错误?
-
@samar 我没有犯错。这些甚至不是实际的表名,我只是举了一个例子。不过代码中的名字是对的。
-
那我请你给出实际的要求,而不是在例子中给出不同的东西,在代码sn-p中给出完全不同的东西。我仍然无法理解您到底需要什么。
标签: c# ms-access select database-design oledb