Один пробел добавляется в конце при вставке данных в БД? - PullRequest
0 голосов
/ 03 декабря 2018

При вставке данных в таблицу с использованием вызова хранимой процедуры .Net в конце добавляется пробел.Эта проблема только с двумя столбцами.где оба столбца имеют внешний ключ для разных таблиц (таблицы будут иметь допустимые значения (константы)).К вашему сведению.

  1. столбец 1 определен как varchar (6), а столбец 2 определен как varchar (3) в sql DB.
  2. , но таблица 1 внешнего ключа содержит данные с максимальным значениемдлина 4, таблица 2 содержит данные с максимальной длиной 3.
  3. в файле EDMX ниже код доступен

a)

<Function Name="spInsertdetails" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
        <Parameter Name="column1" Type="char" Mode="In" />
        <Parameter Name="column2" Type="char" Mode="In" />

b) <FunctionImport Name="spInsertdetails" ReturnType="Collection(TestDBModel.spInsertdetails_Result)">
            <Parameter Name="column1" Mode="In" Type="String" />
            <Parameter Name="column2" Mode="In" Type="String" />

в 3.a) Я попытался изменить char на varchar, но проблема все еще присутствует.

Пожалуйста, дайте мне знать, если потребуется дополнительная информация.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Нам нужно изменить тип данных на varchar как в хранимой процедуре, так и в рамках структуры сущностей edmx, затем в 3) функции, которая изменится на varchar, поэтому в конце она не добавит пробел.

0 голосов
/ 03 декабря 2018

Это может происходить из-за разного размера данных.Поэтому измените длину типов данных, чтобы в обеих таблицах длина была одинаковой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...