Вот моя проблема, при входе в систему я заполняю 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 и число, информация NumberFormatInfo, логическое значение parseDecimal) в System.Number.ParseInt32 (String s, стиль NumberStyles, информация NumberFormatInfo) в System.Convert.ToInt32 (строковое значение)
Это ошибка, с которой я столкнулся.
Если бы кто-нибудь мог мне пойти в правильном направлении или дать мне подсказки о том, что я делаю неправильно, или другие способы сделать это. Пожалуйста, будьте моим гостем, чтобы опубликовать свои предложения.
Заранее спасибо.