Я очень смущен, почему мой сценарий всегда дают результат ошибки Я хочу сделать «если раздел» с несколькими условиямиесли заявления с 2 условиями
как этот
string kalimatsql2 = "SELECT ID FROM Questions WHERE (content = '" + var + "'" + " && Quiz_ID = '" + idQuiz + "')";
Я уже попытался изменить место одинарной кавычки, изменить =
на ==
, ommited ()
, dll , но все же дать ошибку
Ошибка синтаксиса (отсутствует оператор) в выражении запроса '(content =' test2 '& & Quiz_ID =' 6 ')'.
Update
string kalimatsql2 = "SELECT ID FROM Questions WHERE (content = '" + dataDel + "'" + " AND Quiz_ID = " + idQuiz + ")";
int idQuestion = sqlReader(kalimatsql2);
и это код функции sqlReader
private int sqlReader(string kalimatSql)
{
Global.dbCon.Open();
List<int> idQuestions = new List<int>();
Global.reader = Global.riyeder(kalimatSql);
if (Global.reader.HasRows)
{
while (Global.reader.Read())
{
int idQuestion = Convert.ToInt32(Global.reader.GetValue(0));
idQuestions.Add(idQuestion);
}
}
Global.dbCon.Close();
foreach (int id in idQuestions) {
return id;
}
return (idQuestions.Count > 0) ? idQuestions[0] : -1;
}
я использовал Microsoft Access в качестве базы данных
'var' - ключевое слово в C#. выберите другое слово. –
Обязательная ссылка [bobby tables] (http://xkcd.com/327/) - используйте параметризованные запросы. –
Чтобы быть точным, 'var' является [контекстным ключевым словом в C#] (http://msdn.microsoft.com/en-us/library/the35c6y.aspx), поэтому синтаксически нормально использовать' string var = "test2" '... Но в этом случае лучше использовать читаемые имена (возможно,« contextId »), чем ключевые слова, которые * могут * использоваться в качестве имени переменной (включая случаи' @ class'). –