Я пишу код C#, в котором пытаюсь обновить 4 из 10 столбцов таблицы. Вот мой тип функции, в которой Посылают аргументы для запроса:Проблемы с запросом на обновление SQL
public int checkout_visitor(int check_inn, int checkout, String time_out, String date_out, String cnic)
Теперь, что происходит, что я называю эту функцию где-то в моей программе, содержащие значения в аргументе:
checkout_visitor(chk_in,chk_out,t_out,dt_out,idcardnum);
запросе я использую для уточнения моих столбцов дается:
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