ASP.NET Webforms를 사용하여 프로젝트를 진행하고 있습니다. 현재 프로젝트의 업데이트 부분에 있습니다.SQL Server에서 UPDATE를 사용하는 방법
:이 같은 데이터를 갖고 싶어 : 코드시계
ID | EmpID | Date | Clock IN | Morning IN | Morning OUT | Clock OUT
1 | 1 | 07/20/16 | 07:00 am | 09:00 am | 09:15 am | 11:00 am
2 | 1 | 07/21/16 | 08:00 am | 10:00 am | 10:15 am | 12:00 pm
을하지만이 대신
시계 여기
ID | EmpID | Date | Clock IN | Morning IN | Morning OUT | Clock OUT
1 | 1 | 07/20/16 | 07:00 am | 10:00 am | 10:15 am | 12:00 pm
2 | 1 | 07/21/16 | 08:00 am | 10:00 am | 10:15 am | 12:00 pm
를 얻을 수있다
삽입
protected void cmdCIN_Click(object sender, EventArgs e)
{
myConnection.Open();
Response.Write("Welcome!");
string query = "Insert into [dbo].[Clock] (EmpID,Date,ClockIN) Values ((select EmpID from Emp_Record where ID = @user), @date, @cin)";
SqlCommand insertCommand = new SqlCommand(query, myConnection);
insertCommand.Parameters.AddWithValue("@user", txtID.Text);
insertCommand.Parameters.AddWithValue("@date", DateTime.Now.ToShortDateString());
insertCommand.Parameters.AddWithValue("@cin", DateTime.Now.ToLongTimeString());
insertCommand.ExecuteNonQuery();
myConnection.Close();
}
protected void cmdAMIN_Click(object sender, EventArgs e)
{
Response.Write("You have started your first break");
myConnection.Open();
string query = "UPDATE Clock SET MorningIN = @AMIN FROM Emp_Record INNER JOIN Clock ON Em_Record.EmpID = Clock.LeadID;";
SqlCommand insertCommand = new SqlCommand(query, myConnection);
insertCommand.Parameters.AddWithValue("@AMIN", DateTime.Now.ToLongTimeString());
myConnection.Close();
}
는 어떻게 다른 데이터가 첫 번째에 영향을주지 않도록 업데이트 명령을 사용하기 위하여려고하고 UPDATE?
UPDATE 문의 WHERE 절이 없으면 테이블의 모든 레코드가 동일한 값으로 업데이트됩니다. _WHERE ID = @UserID_ – Steve
을 추가해야합니다. 여기에주의하십시오. 이와 같이 pass through SQL에서 AddWithValue를 사용하면 잘못된 데이터 유형이 발생할 수 있습니다. 특히 datetime 값을 사용합니다. http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/ 명시 적으로 데이터 유형의 이름을 지정하는 것이 좋습니다 (또는 더 나은 방법은 저장 프로 시저). –
아침의 행이 null 인 곳을 사용할 때. 내가 놓친 게 있니? –