Must Declare the Scaler variable "@ quantity"

vks_gautam

Member
Joined
May 5, 2013
Messages
6
Programming Experience
Beginner
VB.NET:
 q = "insert into stock_header (grn_id,item_id,uom_id,quantity,Batch_No,expiry_date,mrp_rate,ep_rate,Stock_Type,user_id,created_date,sale_price,stock_quantity,itemtype)values(@grn_id,@item_id,@uom_id,@quantity,@Batch_No,@expiry_date,@mrp_rate,@ep_rate,@Stock_Type,@user_id,@created_date,@sale_price,@stock_quantity,@item_type)"
               
 If CInt(DgvStockAdj.Rows(i).Cells("add").Value) <> 0 Then
                    cmd.Parameters.AddWithValue("@quantity", DgvStockAdj.Rows(i).Cells("add").Value)
                    cmd.Parameters.AddWithValue("@Stock_Type", "stock in")
                    cmd.Parameters.AddWithValue("@stock_quantity", Math.Round(Val(DgvStockAdj.Rows(i).Cells("add").Value) * Val(DgvStockAdj.Rows(i).Cells("Packing").Value), 2))
                ElseIf CInt(DgvStockAdj.Rows(i).Cells("deduct").Value) <> 0 Then
                    cmd.Parameters.AddWithValue("@quantity", 0)
                    cmd.Parameters.AddWithValue("@Stock_Type", "stock out")
                    cmd.Parameters.AddWithValue("@stock_quantity", Math.Round(Val(DgvStockAdj.Rows(i).Cells("deduct").Value) * Val(DgvStockAdj.Rows(i).Cells("Packing").Value), 2))
                End If
im working on datatgridview.
there are two columns name-1) Add (2 Deduct
only one of the column user can filled
if user fill the "add" column then the value in "deduct" column will be 0 automatically or vice versa.
here im comparing value filled by user ..value not equal to 0 means user have filled the value . if he fill in add column that means "stock in" and if he fill in dedcut column means "stock out"
 
Sorry i was out of town ..here is my total code
VB.NET:
Sub datasave()
        Try
            cn = New SqlConnection(My.Settings.PharmacyConnectionString)
            cn.Open()
            tr = cn.BeginTransaction
            For i = 0 To DgvStockAdj.RowCount - 1
                q = "insert into stock_header (grn_id,item_id,uom_id,quantity,batch_no,expiry_date,mrp_rate,ep_rate,Stock_Type,user_id,created_date,sale_price,stock_quantity,itemtype)values(@grn_id,@item_id,@uom_id,@quantity,@batch_no,@expiry_date,@mrp_rate,@ep_rate,@Stock_Type,@user_id,@created_date,@sale_price,@stock_quantity,@item_type)"
                cmd = New SqlCommand(q, cn)
                cmd.Parameters.AddWithValue("@grn_id", 0)
                cmd.Parameters.AddWithValue("@item_id", DgvStockAdj.Rows(i).Cells("ItemId").Value)
                cmd.Parameters.AddWithValue("@uom_id", lbluom.Text) ''
                cmd.Parameters.AddWithValue("@quantity", DgvStockAdj.Rows(i).Cells("add").Value)
                cmd.Parameters.AddWithValue("@batch_no", CStr(DgvStockAdj.Rows(i).Cells("Batch").Value))
                cmd.Parameters.AddWithValue("@expiry_date", DtpDate.Value.Date)
                cmd.Parameters.AddWithValue("@mrp_rate", DgvStockAdj.Rows(i).Cells("MRP").Value)
                cmd.Parameters.AddWithValue("@ep_rate", DgvStockAdj.Rows(i).Cells("Rate").Value)


                If CInt(DgvStockAdj.Rows(i).Cells("add").Value) <> 0 Then
                    cmd.Parameters.AddWithValue("@Stock_Type", "stock in")
                    cmd.Parameters.AddWithValue("@stock_quantity", Math.Round(Val(DgvStockAdj.Rows(i).Cells("add").Value) * Val(DgvStockAdj.Rows(i).Cells("Packing").Value), 2))
                ElseIf CInt(DgvStockAdj.Rows(i).Cells("deduct").Value) <> 0 Then
                    cmd.Parameters.AddWithValue("@Stock_Type", "stock out")
                    cmd.Parameters.AddWithValue("@stock_quantity", Math.Round(Val(DgvStockAdj.Rows(i).Cells("deduct").Value) * Val(DgvStockAdj.Rows(i).Cells("Packing").Value), 2))
                End If


                cmd.Parameters.AddWithValue("@user_id", 1)
                cmd.Parameters.AddWithValue("@created_date", Now)
                cmd.Parameters.AddWithValue("@sale_price", DgvStockAdj.Rows(i).Cells("Rate").Value)
                cmd.Parameters.AddWithValue("@item_type", DgvStockAdj.Rows(i).Cells("Type").Value)
                cmd.Transaction = tr
                cmd.ExecuteNonQuery()


                q1 = "insert into stock_adjustment(id,item_id,item_name,batch_no,add1,deduct,uomid,ep_rate,amount,type,manf,expiry_date,mrp,created_date)values(@id,@item_id,@item_name,@batch_no,@add1,@deduct,@uomid,@ep_rate,@amount,@type,@manf,@expiry_date,@mrp,@created_date)"


                cmd1 = New SqlCommand(q1, cn)
                cmd1.Parameters.AddWithValue("@id", TxtBillNo1.Text)
                cmd1.Parameters.AddWithValue("@item_id", DgvStockAdj.Rows(i).Cells("itemid").Value) ''
                cmd1.Parameters.AddWithValue("@item_name", DgvStockAdj.Rows(i).Cells("itemname").Value)
                cmd1.Parameters.AddWithValue("@batch_no", DgvStockAdj.Rows(i).Cells("Batch").Value)
                cmd1.Parameters.AddWithValue("@add1", DgvStockAdj.Rows(i).Cells("add").Value)
                cmd1.Parameters.AddWithValue("@deduct", DgvStockAdj.Rows(i).Cells("deduct").Value)
                cmd1.Parameters.AddWithValue("@uomid", lbluom.Text)
                cmd1.Parameters.AddWithValue("@ep_rate", DgvStockAdj.Rows(i).Cells("Rate").Value)
                cmd1.Parameters.AddWithValue("@amount", DgvStockAdj.Rows(i).Cells("amount").Value)
                cmd1.Parameters.AddWithValue("@type", DgvStockAdj.Rows(i).Cells("type").Value)
                cmd1.Parameters.AddWithValue("@manf", DgvStockAdj.Rows(i).Cells("manf.").Value)
                cmd1.Parameters.AddWithValue("@expiry_date", DtpDate.Value.Date)
                cmd1.Parameters.AddWithValue("@mrp", DgvStockAdj.Rows(i).Cells("mrp").Value)
                cmd1.Parameters.AddWithValue("@created_date", Now)
                cmd1.Transaction = tr
                cmd1.ExecuteNonQuery()
                tr.Commit()
            Next


            cn.Close()
            MsgBox("DataSaved")
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
Back
Top