2009-03-22 4 views
0

est ici un petit problème ...SQL dans dotNET

string SQL = @"INSERT INTO [Answers] ([UserID],[QuestionID],[SelectedIndex]) 
    VALUES(@uid,@qid,@sin)"; 
    SqlParameter[] par = new SqlParameter[] { 
    new SqlParameter("@uid",this.userid), 
    new SqlParameter("@qid",this.questionid), 
    new SqlParameter("@sin",this.qOptions.SelectedIndex) 
    }; 

cela ne fonctionne pas ... Pourquoi pas? je ne sais pas, mais le premier est bigint en SQL (Microsoft 2005) et en dotNET côté son int ... la seconde est un SQL uniqueidentifier alors que c'est une chaîne en dotNEWT mais ça fonctionne de cette façon j'ai de l'expérience .. troisième l'un est un entier dans SQL et int dans dotNET ... puisque dotNET n'a pas de dysfonctionnement majeur, quel est mon principal dysfonctionnement? :) merci sargeant à l'avance :)))

+0

Serait bien si vous pouviez utiliser un formatage un peu mieux pour aider à rendre les choses plus claires. Par exemple, formatez chaque type de paramètre. En outre, n'est pas un BigInt un int64 dans .NET? –

+0

Quelle est l'erreur que vous voyez? –

+0

Envisagez de publier la définition de la table ainsi que les déclarations pour les champs 'userid',' questionid' et 'qOptions' (ou les accessoires). –

Répondre

1

uniqueidentifier devrait correspondre à Guid plutôt que string, je crois. Que se passe-t-il si vous en faites un Guid à la place (juste pour une valeur de test)? Voir le SqlDbType enumeration docs pour une liste de mappages.

Il serait également utile si vous diriez en quoi manière cela ne fonctionne pas, soit dit en passant. C'est toujours une bonne idée lorsque vous signalez un problème. Est-ce qu'il lance une exception?

Questions connexes