safwanshah Ответов: 2

В чем проблема с этим заявлением об обновлении


В чем проблема с этим заявлением об обновлении? Кто-нибудь мне поможет

UpdateQueryString = " UPDATE tblLogin SET loginName= @name, Password= @password, EmpID= @tempEmId WHERE LoginID= @tempLogId";

пожалуйста, помогите мне

Что я уже пробовал:

UpdateQueryString = " UPDATE tblLogin SET loginName= @name, Password= @password, EmpID= @tempEmId WHERE LoginID= @tempLogId";

Ошибка: необходимо объявить скалярную переменную "@name".

2 Ответов

Рейтинг:
9

Mohtshm Zubair

да последний добавленный параметр неверен

UpdateCommand.Parameters.AddWithValue("@EmID", tempEmId);



Так и должно быть

UpdateCommand.Parameters.AddWithValue("@tempEmId", tempEmId);


и еще один

UpdateCommand.Parameters.AddWithValue("@tempLogId", tempLogId);


Тщательно проверьте написание и количество требуемых параметров. Вам нужно всего четыре параметра

@имя
@пароль
@tempEmId
@tempLogId


Midi_Mick

Спасибо за этот Мохтшм - я уже лег спать, когда он ответил.

safwanshah

Спасибо Мохтшму Зубайру. Он работает идеально. Я очень благодарен вам и с нетерпением жду постоянной поддержки, пожалуйста

safwanshah

Спасибо Мохтшму Зубайру. Он работает идеально. Я очень благодарен вам и с нетерпением жду постоянной поддержки, пожалуйста

safwanshah

Большое спасибо Мохтшм Зубайр

Рейтинг:
0

Midi_Mick

В этом утверждении нет ничего плохого. Вам нужно настроить параметры для @name, @password, @tempEmId и @tempLogId, присвоить им соответствующие значения и назначить их команде.


safwanshah

я изменил это утверждение следующим образом:
UpdateQueryString = "обновление tblLogin набор столбце loginname ='" + UUname + "', пароль = '" + UUpassword + "', empid в = '" + tempEmId + "' где LoginID = '" + tempLogId + "'";

Это работает идеально.

Midi_Mick

Это очень плохая практика. Вы должны использовать свой исходный оператор, но добавить параметры в объект SqlCommand.
У вас будет что-то вроде:

cmd. CommandText = UpdateQueryString;

Вам нужно добавить:

УМК.Параметры.AddWithValue ("@name", UUname);
УМК.Параметры.AddWithValue ("@password", UUpassword);

..и так далее

safwanshah

UpdateQueryString = " UPDATE tblLogin SET loginName= @name, Password= @password, EmpID= @tempEmId WHERE LoginID= @tempLogId";

объекты UpdateCommand.Свойства Commandtext = UpdateQueryString;

объекты UpdateCommand.Параметры.AddWithValue ("@name", UUname);
объекты UpdateCommand.Параметры.AddWithValue ("@password", UUpassword);
объекты UpdateCommand.Параметры.AddWithValue ("@EmID", tempEmId);

UpdateCommand = new SqlCommand(UpdateQueryString, cc. logcon);

отображается ошибка "ссылка на объект не установлена на экземпляр объекта.

Midi_Mick

Поставь
UpdateCommand = new SqlCommand(....
Прежде чем добавить параметры. Обратите внимание, что вы устанавливаете CommandText в конструкторе, поэтому вам не нужно
объекты UpdateCommand.Свойства Commandtext = UpdateQueryString;
линия.

safwanshah

чч.logcon.Закрывать();
}
чч.logcon.Open (); / / logcon.Открыть();

// UpdateQueryString = "обновление tblLogin набор столбце loginname ='" + UUname + "', пароль = '" + UUpassword + "', empid в = '" + tempEmId + "' где LoginID = '" + tempLogId + "'";
UpdateQueryString = " UPDATE tblLogin SET loginName= @name, Password= @password, EmpID= @tempEmId WHERE LoginID= @tempLogId";


UpdateCommand = new SqlCommand(UpdateQueryString, cc. logcon);
объекты UpdateCommand.Свойства Commandtext = UpdateQueryString;
объекты UpdateCommand.Параметры.AddWithValue ("@name", UUname);
объекты UpdateCommand.Параметры.AddWithValue ("@password", UUpassword);
объекты UpdateCommand.Параметры.AddWithValue ("@EmID", tempEmId);

SelectQueryString = " Select * from tblLogin where LoginID='" + tempLogId + "'";

SelectCommand = new SqlCommand(SelectQueryString, cc. logcon);
LoginReader = Команды Selectcommand.Метода executereader();

if (LoginReader.HasRows)
{
LoginReader.Закрывать();


UpdateReader = UpdateCommand.Метода executereader();
Ящик для сообщений.Show ("запись обновлена");

UpdateReader.Закрывать();

чч.logcon.Закрывать();
возвращение " 1";
}
ещё
{
UpdateReader.Закрывать();

чч.logcon.Закрывать();
Ящик для сообщений.Show ("запись не обновлена");
возврат "0";
}
}

поймать (исключение бывший)
{
Ящик для сообщений.Показать (например, сообщение);

}
возвращать null;

}
все еще встречается ошибка "необходимо объявить скалярную переменную "tempEmId".