我正在尝试将数据库中的两个表中的数据添加到一个表中,但我在使用代码时遇到了一些困难。我需要为用户创建一个预订火车票的选项,并且他们的ID和票证的ID需要显示在新表中(预订)
以下是示例:
User:
ID: 5
Name: Jack
Last Name: Jones
Ticket:
ID: 9
Name: London
RESULT
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);
}
请帮帮我!
答案 0 :(得分:0)
假设Booking表和Reservation表是同一个。如果没有,请在此处发表评论。
如果我理解您的商家,首先是不能根据其ID在User表和Ticket表上加入。它们是独立的表,它们之间没有关系。
其次,当用户最终预订票证时,UI上的数据即userid和ticketid都应该可用。
对于userid,如果你有一个asp.net应用程序,用户ID将在他/她登录到你的网站时可用,否则如果它是一个Windows应用程序你可以将它保存在公共静态类变量中。
ticketid将是用户在添加旅程详细信息时选择的记录。
您需要选择它们并将其添加到预订表中。
希望这会给你一些指导。
答案 1 :(得分:0)
SELECT User.ID, Ticket.ID AS Reservation FROM (User INNER JOIN Ticket ON User.ID = Ticket.ID)
这里的条件是错误的,如何将userid和ticketid相等?