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
格式。这是一个插入函数
答案 0 :(得分:1)
您当前的代码正在尝试将C1DateEdit
控件转换为无效操作的格式化字符串。我想您想要从该控件转换DateTime
值:
command.Parameters.Add("_trdate", Format(dteDate.Value, "yyyy-MM-dd"))
假设dteDate.Value
是从DateTime
获取C1DateEdit
值的正确方法,因为我从未在生活中使用过ComponentOne控件。无论如何,如果_trdate
参数在postgres中期望DateTime
类型,则可以将DateTime
对象作为参数值传递。无需处理格式化,它将自动处理。这样的事情(应用相同的假设):
command.Parameters.Add("_trdate", dteDate.Value)
希望这能解决你的问题。