Wie pass int-Parameter in Sql commandText
Gewusst wie: übergeben Sie einen integer-Wert, wie SQL-Befehl Parameter?
Ich versuche wie diese:
cmd.CommandText = ("insert_questions '" +
cmd.Parameters.AddWithValue(store_result,store_result) + "','" +
cmd.Parameters.AddWithValue(store_title, store_title) + "', '" +
cmd.Parameters.AddWithValue(store_des, store_des) + "'");
store_result ist vom Datentyp int und die anderen 2 parameter sind vom Typ string.
store_result ist, geben Sie eine Fehlermeldung wie unten.
Argument 1: cannot convert from 'int' to 'string'
in SP ,es gibt eine andere variable vom Typ int, die get-store_result Wert.
Was ist die richtige syntax für die übergabe von int-Parameter?
Danke.
Nicht legen Sie string-Begrenzungszeichen um Ihre int-Wert (aber ich vermute, dies ist die am wenigsten Ihrer Probleme).
InformationsquelleAutor user1627138 | 2012-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
sollte es so sein,
beachten Sie, dass
@value
und@value2
sind die deklarierten Parameter in der gespeicherten Prozedur.InformationsquelleAutor John Woo
den richtigen Weg zu gehen, ist
dies bedeutet, es funktioniert auch mit text Abfragen. es ist sogar einfacher mit gespeicherten Prozeduren - statt der sql-Abfrage-stellen Sie nur den Namen der gespeicherten Prozedur:
InformationsquelleAutor aiodintsov
Versuchen Sie dies:
InformationsquelleAutor Ivan G
Die Sie nicht verketten Sie die SqlParameter-Instanzen; stattdessen:
Den Namen in
AddWithValue
verwendet werden, in der TSQL-als@store_result
usw.Wenn wir davon ausgehen, dass
inert_questions
ist eigentlich ein proc ist, dann ist es noch einfacher:Alternativ, wenn all das scheint mühsam, Werkzeuge wie dapper-dot-net die dies erleichtern:
InformationsquelleAutor Marc Gravell