0
我知道這個錯誤/問題已經發布了很多。我一直在研究一段時間,仍然無法確定如何正確地更新我的數據庫,並在我的DataTable中進行更改。C#錯誤:更新與修改的行傳遞數據收集時需要有效的updatecommand?
我有一個DataTable充滿來自我的數據庫中的2個不同表的信息。只是對來自1個表格的列進行了更改。我需要加入計算的第二個表。
因此當我嘗試更新我的數據庫時,只會對1個表進行更改。我仍然需要ado.net,所以即時通訊應用正確的方式來應用這些更改基於來自MSDN和StackOverflow的信息。
這是我的代碼:
using (SqlCommand cmd = new SqlCommand("SELECT INCIDENT_NO, report_dt,MIN(theStart) as The_Start, Resolved_DT, Resolution_TIME, resolution_met,response_met,max_response_time,max_resolution_time,impact FROM TICKET_REPORT JOIN TimeTracker ON Incident_NO=theTask WHERE Resolved_DT != '' GROUP BY INCIDENT_NO,report_dt,Resolved_DT,Resolution_Time, resolution_met,response_met,max_response_time,max_resolution_time,impact", sqlConn))
{
var calc = new Calculation(holidays, new OpenHours("09:00;17:00"));
SqlDataAdapter da = new SqlDataAdapter(cmd);
dtResolution.Columns.Clear();
dtResolution.Clear();
da.Fill(dtResolution);
//-------Making calculation changes to columns from one table in datatable here---------
try
{
da.Update(dtResolution);
Console.WriteLine("Update successful");
}
catch(Exception ex)
{
Console.WriteLine("Updated failed");
Console.WriteLine(ex.Message);
}
da.Dispose();
}
我靠在那CommandBuilder的會爲我創造了更新命令,但MSDN說,我只能用CommandBuilder的,如果我的SELECT語句只包括1臺,我有2個二。
其他StackOverflow的答案是說,如果即時通訊使用JOIN,我自己。
我該如何正確完成此更新?我可以在C#中執行此操作嗎?我應該將數據表傳遞給sqlserver中的存儲過程嗎?
add solution pls –