에 문제가있는 테이블의 10 열 중 4 개를 업데이트하려고하는 C# 코드를 작성하고 있습니다. 사용하고업데이트 쿼리 SQL
checkout_visitor(chk_in,chk_out,t_out,dt_out,idcardnum);
쿼리 :
public int checkout_visitor(int check_inn, int checkout, String time_out, String date_out, String cnic)
지금 무슨 일하는 난 내 프로그램이 인수에 값을 제공하는 곳이 함수를 호출한다는 것이다 : 여기에 쿼리에 대한 인수를 보내고있는 내 함수 타입이다 내 열을 업데이트하는 방법은 다음과 같습니다.
String query2 = " UPDATE visit_detail SET[check_in] = " + check_inn + "[check_out] = " + checkout + "[time_out] = " + time_out + "[date_out] =" + date_out + "where visit_detail.v_id = "+ v_idd;
chkout 근처에서 잘못된 구문이 틀린 경우를 생각해보십시오. 내가 어디가 잘못 됐니? 올바른 구문입니까? 어떻게 수정해야합니까?
코드 :
public int checkout_visitor(int check_inn, int checkout, String time_out, String date_out, String cnic)
{
try
{
connection.Open();
String query = "select v_id from visitor where visitor.cnic=" + cnic;
command = connection.CreateCommand();
command.CommandText = query;
visitor_id = command.ExecuteScalar().ToString();
int v_idd = Int32.Parse(visitor_id);
String query2 = " UPDATE visit_detail SET[check_in] = " + check_inn + "[check_out] = " + checkout + "[time_out] = " + time_out + "[date_out] =" + date_out + "where visit_detail.v_id = " + v_idd;
//String query2 = "UPDATE visit_detail SET [check_in] = " + check_inn + ",[check_out] = " + checkout + ",[time_out] = " + time_out + ",[date_out] =" + date_out + " where visit_detail.v_id = " + v_idd;
command = connection.CreateCommand();
command.CommandText = query2;
int result = command.ExecuteNonQuery();
connection.Close();
return result;
}
catch (Exception e)
{
return -1;
}
}
SET와 check_in 사이의 공간을 잊어 버렸습니다. SET [check_in] => SET [check_in] – adt
문자열 값을 맹목적으로 연결하는 대신 매개 변수를 사용하십시오. 사용자가 입력 할 수있는 항목이 있습니까? 값 '1234'를 입력 할 것입니다.); DROP TABLE visit_detail; - 내 ID 카드 번호 : http://xkcd.com/327 – Bridge