Я предполагаю, что это строка с ошибкой
Dim wo As WorkOrder = MyApp.WorkOrder.CreateWorkOrder(Nothing, 100, 4, False, DateTime.Now, False, 0, 1, 0, 0, 0, 0, 0, 0, False, 0, 0, 0, False, CreatedByContactID, DateTime.Now, 1, DateTime.Now)
Теперь первый параметр - «Ничего», поэтому я предполагаю, что он должен быть «Возвращаемым значением» хранимой процедуры (являютсяВы используете хранимые процедуры?).
Если вы на самом деле используете хранимую процедуру с чем-то вроде @ID int output
, то вам нужен правильный выходной параметр в вашем коде
Dim IDOut As Integer
Dim wo As WorkOrder = MyApp.WorkOrder.CreateWorkOrder(IDOut, 100, 4, False, DateTime.Now, False, 0, 1, 0, 0, 0, 0, 0, 0, False, 0, 0, 0, False, CreatedByContactID, DateTime.Now, 1, DateTime.Now)
''# Do crap with IDOut like redirect to http://example.com?workorder=[IDOut]
Но какВ своем комментарии я сказал, что вам лучше использовать LINQ to SQL и избегать хранимых процедур для простых вставок.
Что-то вроде
Public Sub GenerateWorkOrder()
Dim workOrder As New WorkOrder
With workOrder
.somestringParameter1 = "the parameter"
.someintegerParameter1 = 5
''# etc
End With
CreateWorkOrder(workOrder)
SubmitChanges()
End Sub
Public Sub CreateWorkOrder(ByVal workOrder As WorkOrder)
''# dc is simply the DataContext
dc.WorkOrders.InsertOnSubmit(workOrder)
End Sub
Public Sub SubmitChanges()
dc.SubmitChanges()
End Sub