Вот моя проблема: при входе в систему я заполняю 2 сессии, 1 с названием компании и 1 с именем пользователя.Используя эти 2 сеанса, я хотел бы найти соответствующий идентификатор в базе данных.Но, как вы можете догадаться, типы данных сессий и идентификаторы не совпадают, поэтому я полагаю, что некоторые преобразования необходимы.Поэтому в основном я пытаюсь сохранить идентификаторы, соответствующие тексту в сеансах, в таблицу.
Вот код, который я использую до сих пор, но при попытке сохранить это выдает ошибкупорядок.
System.Data.SqlClient.SqlCommand myCommand1 = new System.Data.SqlClient.SqlCommand("SELECT tUserId FROM tblUsers WHERE tUserName=@Username", sqlConn);
myCommand1.Parameters.AddWithValue("@Username", (string)Session["username"]);
myCommand1.ExecuteNonQuery();
int user = Convert.ToInt32(myCommand1.ToString());
System.Data.SqlClient.SqlCommand myCommand2 = new System.Data.SqlClient.SqlCommand("SELECT tCompId FROM tblCompany WHERE tCompName=@company", sqlConn);
myCommand2.Parameters.AddWithValue("@company", (string)Session["compNameLogin"]);
myCommand2.ExecuteNonQuery();
int comp = Convert.ToInt32(myCommand2.ToString());
System.Data.SqlClient.SqlCommand myCommand3 = new System.Data.SqlClient.SqlCommand("INSERT INTO tblOrder(tBestCompId, tBestUserId ) VALUES('" + comp + "','" + user + "') ", sqlConn);
myCommand3.ExecuteNonQuery();
System.FormatException: входная строка была в неправильном формате.в System.Number.StringToNumber (String str, параметры NumberStyles, NumberBuffer & number, информация NumberFormatInfo, логический parseDecimal) в System.Number.ParseInt32 (String s, стиль NumberStyles, информация NumberFormatInfo) в System.Convert.ToInt32 (значение String) * 100*
Это ошибка, с которой я столкнулся.
Если бы кто-нибудь мог мне указать верное направление или дать подсказки о том, что я делаю неправильно, или о других способах сделать это.Пожалуйста, будьте моим гостем, чтобы публиковать ваши предложения.
Заранее спасибо.