Je présume que vous voulez utiliser MS SQL Server.
Si tel est le cas, je n'utiliserais pas ntext
Ce type de données doit être supprimé dans les futures versions de SQL Server. Si vous devez vraiment utiliser un type de données non Unicode, utilisez nvarchar
. Une autre restriction de l'utilisation ntext
est que vous ne pouvez pas le convertir en un grand nombre des autres types de données. Sur les 30 types de données impairs, vous ne pouvez convertir que ntext
en six d'entre eux.
Ce que vous pouvez faire dans ce scénario est la structure de table suivante.
Create Table dbo.PropertyInformation
(
PropertyId int identity(1,1) not null,
PropertyName varchar(50) not null,
PropertyTypeId int not null,
PropertyValue nvarchar(max)
)
ajouter ensuite une table de consultation pour stocker vos types de propriété
Create table dbo.PropertyTypes
(
PropertyTypeId int identity(1,1) not null,
PropertyType varchar(50) not null
)
Vous pouvez stocker tout type de valeur dans la colonne PropertyValue nvarchar
convertit à presque tous les autres types de données - en dehors de l'image. Lisez le PropertyType de la table de recherche et convertissez la valeur de PropertyValue à la volée dans votre application.
Bien que, avez-vous une raison pour laquelle vous ne voulez pas avoir 4 colonnes différentes pour stocker les valeurs de propriété?
ntext datatype information
Casting & Converting in SQL Server (La matrice des conversions autorisées est à peu près à mi-chemin bas de la page)
Avez-vous une définition de classe ou quelque chose que vous pouvez partager pour illustrer votre problème? – slugster
Certaines bases de données prennent en charge un type de données 'sql_variant', mais s'attendent à des difficultés si vous souhaitez modifier DBM. – msw