Получение этой ошибки в command.Parameters.Add("_trdate", Format(dteDate, "yyyy-MM-dd"))
command.CommandType = CommandType.StoredProcedure
command.CommandText = "{?=call gtab09_INSERT(_acyrid,_RepId,_DrId,_vrid,_mode, _trno, _trdate, _acid, _vrno, _SuppId,_custname,_netamt,_disrate,_disamt,_RoundOff,_jrmid, _userid,_userdtm,_VSNo,_RecdAmt,_cstrate,_cstsaleamt,_cstamt,_tdrate,_tdamt,_cdrate,_cdamt,_CessRate,_CessAmt,_odesc1,_oamt1,_CashCredit,_OrderNo,_OrderDate,_CustAdd2,_Remarks,_WhoRetSl,_PatName,_DrName,_FormId,_SalesMan,_CFMode,_PatId,_StkPtId,_DisType,_BranchID)}"
command.Parameters.Add("_acyrid", gintAcYrId)
command.Parameters.Add("_RepId", Val(cboRep.SelectedValue))
command.Parameters.Add("_DrId", Val(cboDoctor.SelectedValue))
command.Parameters.Add("_vrid", mlngVrId)
command.Parameters.Add("_mode", Val(cboMode.SelectedIndex))
command.Parameters.Add("_trno", txtslno.Text)
command.Parameters.Add("_trdate", Format(dteDate, "yyyy-MM-dd"))
command.Parameters.Add("_acid", CustAcId)
я получаю
Unable to cast object of type
'C1.Win.C1Input.C1DateEdit' to type 'System.IConvertible' error
в
command.Parameters.Add("_trdate", Format(dteDate, "yyyy-MM-dd"))
с помощью VB.net 2008
а также PostgreSql
База данных в postgres
поле даты должно быть в yyyy-MM-dd
Формат. Это функция вставки
1 ответ
Ваш текущий код пытается конвертировать C1DateEdit
управление отформатированной строкой, которая не является допустимой операцией. Я думаю, вы хотите конвертировать DateTime
значение из этого элемента управления вместо:
command.Parameters.Add("_trdate", Format(dteDate.Value, "yyyy-MM-dd"))
при условии, что dteDate.Value
это правильный способ получить DateTime
значение от C1DateEdit
, так как я никогда не использовал элемент управления ComponentOne в моей жизни. Во всяком случае, если _trdate
параметр ожидать DateTime
введите postgres, вы можете просто передать DateTime
объект как значение параметра. Не нужно заботиться о форматировании, оно будет обрабатываться автоматически. Примерно так (применимо то же предположение):
command.Parameters.Add("_trdate", dteDate.Value)
Надеюсь, это пролило свет на вашу проблему.