PDA

View Full Version : سوال: نحوه استفاده از پارامترهاي خروجي روالهاي ...



baran_1551
دوشنبه 16 شهریور 1388, 09:41 صبح
نحوه استفاده از پارامترهاي خروجي روالهاي sql در vb‎.Net را ميخواهم

saadi2
دوشنبه 16 شهریور 1388, 12:22 عصر
Com = New SqlCommand
With Com
.CommandText = "SP_orders"
.CommandType = CommandType.StoredProcedure
.Parameters.Add("@customerid", _
SqlDbType.Int).Value = Val(T_customerid_orders.Text)
.Parameters.Add("RETURN", SqlDbType.Int)
.Parameters("RETURN").Direction = ParameterDirection.ReturnValue
.ExecuteNonQuery()
EndWith
Dim orderID AsInteger = Convert.ToInt32(Com.Parameters("RETURN").Value)

baran_1551
دوشنبه 16 شهریور 1388, 16:32 عصر
Com = New SqlCommand
With Com
.CommandText = "SP_orders"
.CommandType = CommandType.StoredProcedure
.Parameters.Add("@customerid", _
SqlDbType.Int).Value = Val(T_customerid_orders.Text)
.Parameters.Add("RETURN", SqlDbType.Int)
.Parameters("RETURN").Direction = ParameterDirection.ReturnValue
.ExecuteNonQuery()
EndWith
Dim orderID AsInteger = Convert.ToInt32(Com.Parameters("RETURN").Value)


با سلام
از اين روش كه استفاده ميكنيم خروجي اكثر روالها مقدار صفر است و هدفمان اين است كه بدانيم آيا يك روال insert ركوردي را درج ميكند يا تغيير ميدهد يا نه؟

saadi2
دوشنبه 16 شهریور 1388, 17:09 عصر
حالا منظورتو فهمیدم



Public Function fill_Table(ByVal Sql, ByVal Table) As DataTable

Con.open()
Try
Caa = New SqlDataAdapter(Sql, Con)
dT = New DataTable(Table)
Caa.Fill(dT)
Catch ex As Exception
MsgBox(ex.Message)
Finally
Close_con(Database)
Caa.Dispose()
End Try
Return dT


End Function



از روال بالا به شکل زیر استفاده میشود:



dim dt as datatable = fill_table("select * from table1" ,"table1")