Строковый символ удаляется, когда я сохраняю его в базе данных через свое веб-приложение
У меня есть этот код
con.ConnectionString = "Data Source=aaaa;Initial Catalog=aaa;User ID=aaa;Password=aaa"; con.Open(); SqlCommand cmd = new SqlCommand("exec doc_record @PO_NUMBER, @Path,@Time_Saved, @Scanned_BY", con); // cmd.Parameters.AddWithValue("@PO_NUMBER", Label4.Text); cmd.Parameters.Add("@PO_NUMBER", SqlDbType.VarChar, 250).Value = Label4.Text; cmd.Parameters.Add("@Path", SqlDbType.NVarChar).Value = NewFileName; cmd.Parameters.Add("@Time_Saved", SqlDbType.NVarChar).Value = ""; cmd.Parameters.Add("@Scanned_BY", SqlDbType.NVarChar).Value = Environment.UserName; cmd.ExecuteNonQuery(); con.Close(); confirm();
Что я уже пробовал:
Существует текстовое поле для сохранения номера PO. Поэтому, когда я ввожу этот номер PO в текстовое поле "645-5263038-O9-SMIPLX" и нажимаю сохранить. Буква " X "каждый раз обрезается, и она сохраняется как" 645-5263038-O9-SMIPL", но если я введу ее вручную в базу данных, то теперь возникнет проблема. Раньше длина поля была установлена в Varchar (20), но теперь я превысил ее до Varchar(100), но все еще есть проблема.
[no name]
Посмотрите на doc_record и посмотрите, что он делает.
Saaharjit Singh
Спасибо! :)
jgakenhe
Да, размер параметра в вашей хранимой процедуре @PO_NUMBER, вероятно, неправильный размер. Если столбец был недостаточно большим, то вы получите исключение типа: "строковые или двоичные данные будут усечены. Заявление было прекращено."
Saaharjit Singh
Спасибо:)
ZurdoDev
Идите вперед и опубликуйте это как решение.
ZurdoDev
Параметр в вашей хранимой процедуре также должен быть увеличен.
Saaharjit Singh
Спасибо :)