8
votes

Comment sauver les octets [] en utilisant une procédure?

Cette procédure stockée ne sauvegarde pas les données, il semble s'agir d'un problème avec le varbinaire code>. Je passe un octet [] code>, mais cela ne fonctionne pas. Si j'envoie ce paramètre sous null code> Ça fonctionne.

J'appelle la procédure avec le code suivant: P>

DECLARE @X varbinary(20)
Set @X = CAST('Testing' As varbinary(20))
EXECUTE [QP_AddCommunity] 'aaaaa', 'descricao', @X, 216, NULL, 0;


2 commentaires

Définir «ne fonctionne pas». Avez-vous une erreur? Est-ce que l'insertion / mise à jour fonctionne, mais l'image est manquante? Est-ce que l'insertion / mise à jour fonctionne et l'image est corrompue? BTW, code qui vérifie le nombre (*), puis les insertions ou les mises à jour sont cassées sous concurrence. Vous devez utiliser fusion TechNet.microsoft.com/fr -us / bibliothèque / bb510625.aspx


Où est le CommandParameter ?


4 Réponses :


0
votes

Essayez d'utiliser le . méthodewrite . Sur votre insert, insérez 0x pour l'image, puis mettez à jour indépendamment.

UPDATE QT_Community 
    SET Picture.Write (@Picture, 0, DATALENGTH(Picture))
    WHERE ID = @ID


7 commentaires

Cela ne me dérange pas d'un bowvote si je me trompe. Je n'aime pas aimer les bowvotes anonymes sans explication. Pouvez-vous expliquer votre objection?


Cela semble totalement non liée au problème. Ce n'est pas un problème sur SQLServer, mais un problème sur ORM de Telerik. Il ne peut pas passer un octet [] à la procédure. Il peut cependant envoyer un null , prouvant que le problème est sur l'orm.


@Brunolm: Merci pour les commentaires. C'est certainement possible que j'ai mal compris le problème. Ce sera pour le OP de déterminer. Je pensais que je proposais un travail raisonnable autour qui pourrait au moins être essayé .


Mais lors de l'appel de la méthode GetsqLQuery avec quelque chose sur l'octet [] La transaction dit que ce n'est pas actif ni sale. Mais si l'octet [] est nul, cela fonctionne comme il le devrait. . Comment il est censé passer @picture si la méthode ne fonctionnera pas?


@Brunolm: En regardant l'historique de modification sur la question, ces détails ont été ajoutés après J'ai posté ma réponse.


Il a en fait décrit ce comportement avant la modification. Cela semble être un problème avec le Varbinary. Je passe un octet [], mais ça ne marche pas. Si j'envoie ce paramètre en tant que null ça marche.


@Joe Stefanelli: Bonjour, merci de votre réponse, mais mon problème n'est pas en cours de procédure. C'est un problème lorsque j'envoie un octet [] , il ne se bloque pas lorsque j'envoie null .



1
votes

en conséquence à Cette table semble blob , binaire , varbinaire serait des types valides pour [] de type primitif . .

Vous pouvez essayer de Demandez sur leurs forums , peut-être que quelqu'un va être capable de vous aider.



0
votes

exemple (ado.net): xxx


0 commentaires

5
votes

J'ai trouvé que c'est impossible comme cette réponse montre

Bonjour Gaurav, actuellement notre La méthode GetsqLQuery ne peut pas fonctionner correctement avec des paramètres de type Longévité ou varbinary, donc rendre impossible pour le stocké procédure de travail comme prévu. Nous sommes conscient de ce problème et nous sommes travailler sur la fixation. Comme un travail autour vous devriez essayer d'utiliser LINQ pour atteindre ton but. Salutations, Petar le TECHERIK TEAM


0 commentaires