我已經加入了兩個表值並將這些值插入到另一個表中,但插入不起作用。我使用的是Access數據庫,我使用下面的代碼:插入到C#應用程序失敗的Access數據庫中
string query = "select t2.date,t1.FlightNo,t1.Dept_Time,t1.Arr_Time,t1.Route,t1.[Destination 1],t1.[Destination 2],t1.[Destination 3],t1.[Destination 4] From [FlightNumber]as t1 inner join [schedule]as t2 on t1.FlightNo=t2.FlightNo";
OleDbCommand cmd = new OleDbCommand(query, con);
OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
dt1 = new DataTable();
adp.Fill(dt1);
con.Open();
string query2 = "Insert into Monday (date,[Flight_no],[Dept_time],[Arr_time],Route,[dest_1],dest2,dest3,dest4)values(@date,@flight,@dept,@arr,@route,@dest1,@dest2,@dest3,@dest4)";
for (int i = 0; i < dt1.Rows.Count; i++)
{
OleDbCommand cmd1 = new OleDbCommand(query2, con);
cmd.Parameters.AddWithValue("@date", SqlDbType.NVarChar).Value = dt1.Rows[i]["date"].ToString();
cmd.Parameters.AddWithValue("@flight", dt1.Rows[i]["FlightNo"]);
cmd.Parameters.AddWithValue("@dept", dt1.Rows[i]["Dept_Time"]);
cmd.Parameters.AddWithValue("@arr", dt1.Rows[i]["Arr_Time"]);
cmd.Parameters.AddWithValue("@route", dt1.Rows[i]["Route"]);
cmd.Parameters.AddWithValue("@dest1", dt1.Rows[i]["Destination 1"]);
cmd.Parameters.AddWithValue("@dest2", dt1.Rows[i]["Destination 2"]);
cmd.Parameters.AddWithValue("@dest3", dt1.Rows[i]["Destination 3"]);
cmd.Parameters.AddWithValue("@dest4", dt1.Rows[i]["Destination 4"]);
cmd1.ExecuteNonQuery();
con.Close();
MessageBox.Show("successfully inserted");
}
解釋它是如何工作的。是否有編譯器錯誤,運行時異常,意外輸出或其他? –