super_user Ответов: 2

Требуется объект типа, конвертируемого в 'string'


я создаю login_class в этом классе я кодирую это

public void loginfu(string username,string password)
   {
       try
           {
              Entities2 lg = new Entities2();

              List<SP_Get> gr = lg.SP_GetL(username, password).ToList();
               DataTable dt = new DataTable();
               dt.Columns.Add("id", typeof(string));
               foreach (var l in gr)
               {
                   dt.Rows.Add(l.id);
               }

           }
          catch (Exception)
           {
               throw new Exception();

           }
           return dt;
   }


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

как я передаю идентификатор столбца в сеансе

Bernhard Hiller

Время компиляции или ошибка во время выполнения? Какая линия?
между прочим, catch (Exception) {throw new Exception() это нонсенс: вы отбрасываете всю информацию, которую могли бы получить из исходного исключения. Не делай этого!

super_user

проверьте обновление вопроса

F-ES Sitecore

Вам нужно прекратить то, что вы делаете, и взять книгу по c# и понять основы языка, такие как функции, шины, классы и т. д., Прежде чем вы сможете сделать что-то более продвинутое. Ваш код имеет мало смысла, и есть несколько основных проблем с тем, как вы используете язык. Мы могли бы указать на эти ошибки, но это не поможет вам. Если вы хотите кодировать, вам нужно лучше понять основы.

super_user

вы правы, мне это нужно: / пожалуйста, предложите несколько хороших книг

2 Ответов

Рейтинг:
2

Mehdi Gholam

Вы определили loginfunction() возвращаться bool не DataTable отсюда и ошибка на линии :

...
string logn = Convert.ToString(lg_class.loginfunction(UserName, Password).Tables[0].Rows[0]["id"]);
...


super_user

хорошо, теперь я это сделаю ..
private string loginmethod(строковое имя пользователя, строковый пароль)
{
login_class lg_class = новый login_class();

пробовать
{

Entities2 логин = Entities2();


lg_class. loginfunction(имя пользователя, пароль);
идентификатор сеанса"]

вернуть ;
}
поймать (исключение бывший)
{

выбросить новое исключение();

}

Ошибка 4 требуется объект типа, преобразуемого в 'string'

super_user

проверьте обновление вопроса

Рейтинг:
1

OriginalGriff

Это довольно простая ошибка, если у вас есть код, которого у нас нет.
Это ошибка компилятора, и она происходит потому, что вы пытались сделать что-то подобное:

private void MyMethod() { ... }
...
var x = MyMethod().DoSomething();
Поскольку MyMethod определяется как возвращающий пустоту-то есть отсутствие значения - компилятор жалуется (правильно), что вы не можете использовать "." при вызове метода.

Но мы не можем сказать, на какую строку он жалуется - поэтому посмотрите на сообщение об ошибке, и оно точно скажет вам, с каким файлом и строкой в этом файле он обнаружил проблему. Посмотрите на методы eth, которые вы вызываете на этой линии, и это должно быть довольно очевидно. Исправление этого зависит от вас: почему вы вызываете этот метод и ожидаете, что он вообще вернет значение?


super_user

проверьте обновление вопроса