मैंने SQL में एक फ़ंक्शन बनाया है, अब मुझे अपने सी # एप्लिकेशन में उस फ़ंक्शन का उपयोग करने की आवश्यकता है।मैं सी # में एसक्यूएल फ़ंक्शन कैसे कॉल कर सकता हूं?
मैं कुछ इस तरह उपयोग करने की कोशिश, लेकिन यह मैं गलत यह बाद से मैं हो रही है कर रहा हूँ लगता है:
Must declare the scalar value '@2064734117'
... जब मैं पहले पैरामीटर और 1
दूसरा पैरामीटर के रूप में के रूप में 2064734117
देना । यहां कोड है जिसके बारे में मैं बात कर रहा हूं:
SqlConnection con = new SqlConnection(clsDb.connectionString);
string query = string.Format("select Function1(@{0},@{1}) ",
int.Parse(e.CurrentRow.Cells["CodeMeli"].Value.ToString()),1);
con.Open();
SqlCommand cmd = new SqlCommand(query,con);
SqlDataAdapter READER = new SqlDataAdapter();
READER.SelectCommand = cmd;
DataTable table = new DataTable();
READER.Fill(table);
radGridView1.DataSource = table;
con.Close();
और मेरा फ़ंक्शन दो पूर्णांक पैरामीटर लेता है और एक तालिका देता है। मैंने इसे विजुअल स्टूडियो में चेक किया और यह काम किया, लेकिन मैं इसे अपने आवेदन में काम नहीं कर सका।
ALTER FUNCTION dbo.Function1
(
/*
@parameter1 int = 5,
@parameter2 datatype
*/
@ID int,
@clsTypeID int
)
RETURNS TABLE/* @table_variable TABLE (column1 datatype, column2 datatype) */
AS
/*BEGIN */
/* INSERT INTO @table_variable
SELECT ... FROM ... */
RETURN SELECT * FROM tblCLASS2
WHERE STNID = @ID AND CLASSTYPEID = @clsTypeID
/*END */
/*GO*/
क्या त्रुटियों मिल रहा है? इसके अलावा एक विकल्प एक संग्रहित प्रक्रिया लिखना है जो आपके फ़ंक्शन को कॉल करता है और केवल ado.net/c# – kd7
के माध्यम से proc को कॉल करता है। यह कोड काम करना चाहिए, यह क्या त्रुटि दे रहा है? ध्यान दें कि यह फ़ंक्शन * एक फ़ंक्शन जैसा नहीं दिखता है, यह बेहतर रूप से 'संग्रहीत प्रक्रिया' में लागू किया जाएगा। हालांकि, यह किसी भी तरह से काम करना चाहिए। –
मुझे "स्केलर मान घोषित करना होगा '@ 2064734117'"। जब मैं पहले पैरामीटर के रूप में 2064734117 और दूसरे पैरामीटर के रूप में 1 देता हूं। – Breeze