Bonjour,
J’ai une procédure stocké en sql server 2005 sp3, qui est un
simple select (select * from ….).
J’exécute cette requête en c# pour remplir une datatable. Et cela
fonctionne bien.
Je complique un peu en rajoutant une fonction SQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
alter FUNCTION dbo.qt_GetSector (@FC_test varchar(20)) 
RETURNS varchar(300) 
WITH EXECUTE AS CALLER 
AS 
BEGIN 
        return(@FC_test); 
end;
je rajoute cette fonction a ma requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
(select dbo.qt_GetSector(« 
qsdf« ) as qsdf, * from ….)
.
Je re - exécute cette procédure en c# et la je m’aperçois que le champ qsdf(cad la fonction) dans la datatable est devenu en lecture seule.
Je peux modifier le champs de la datatable pour le mettre en écriture programmatiquement. Mais je n’aime cette solution, car il y a d’autres applications qui utilisent cette requête et qui impliqueraient beaucoup de changements.

Comment puis je modifier ma requête en Tsql pour rendre ce champ qui
contient le résultat d’une fonction SQL visible en écriture dans une
DataTable(C#) sans modifier le code de mon application?


Merci d’avance…


Ex:

requête

N°| STATUS | FIELDS
01| R,W | id
02| R,W | strName
03| R,W | strAdresses
04| R,W | strParam

J'ajoute une fonction
requête

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Select dbo.qt_GetSector(« qsdf« ) as qsdf, * from table1
N°| STATUS | FIELDS
01| R | qsdf
02| R,W | id
03| R,W | strName
04| R,W | strAdresses
05| R,W | strParam
Comment faire pour mettre le champ qsdf en lecture et en écriture dans une database c#

Encore merci

R=lecture
W=Ecriture