c# - System.Data.OleDb.OleDbException: '标准表达式中的数据类型不匹配。在c#中
问题描述
当我在其中提供数字数据时,我在插入和更新时遇到错误TXT_Firm_Pincode.Text
,TXT_Firm_Bank_Ac_No.Text
当我离开这两个字段时,它的工作完美,任何人都可以帮助我。
MC.Cmd_SQL = new OleDbCommand($@"Update TBL_Firm set
Firm_Owner = '{TXT_Firm_Owner.Text}',
Firm_Name = '{TXT_Firm_Name.Text}',
Firm_Address = '{TXT_Firm_Address.Text}',
Firm_City = '{TXT_Firm_City.Text}',
Firm_Pincode = @Firm_Pincode,
Firm_State= '{CB_Firm_State.Text}',
Firm_Con_Person = '{TXT_Firm_Con_Person.Text}',
Firm_Con_No = {TXT_Firm_Con_No.Text},
Firm_GSTN = '{TXT_Firm_GSTN.Text}',
Firm_Bank_Name = '{TXT_Firm_Bank_Name.Text}',
Firm_Bank_Ac_No = @Firm_Bank_Ac_No,
Firm_Bank_Branch = '{TXT_Firm_Bank_Branch.Text}',
Firm_Bank_IFSC= '{TXT_Firm_Bank_IFSC.Text}',
Firm_MailID = '{TXT_Firm_MailID.Text}'
where Firm_ID = {TXT_Firm_ID.Text}", MC.DB_Connection);
MC.Cmd_SQL.CommandType = CommandType.Text;
MC.Cmd_SQL.Parameters.AddWithValue("@Firm_Pincode" , TXT_Firm_Pincode.Text == "" ? DBNull.Value : (object)"Null");
MC.Cmd_SQL.Parameters.AddWithValue("@Firm_Bank_Ac_No", TXT_Firm_Bank_Ac_No.Text == "" ? DBNull.Value : (object)"Null");
MC.Cmd_SQL.ExecuteNonQuery();
解决方案
三元运算符在为真和假时condition ? operand1 : operand2
返回- 否则。operand1
condition
您的operand1
声明没问题,但您需要更改operand2
以将文本框值放入其中:
MC.Cmd_SQL.Parameters.AddWithValue("@Firm_Pincode" ,
TXT_Firm_Pincode.Text == "" ? DBNull.Value : TXT_Firm_Pincode.Text);
MC.Cmd_SQL.Parameters.AddWithValue("@Firm_Bank_Ac_No",
TXT_Firm_Bank_Ac_No.Text == "" ? DBNull.Value : TXT_Firm_Bank_Ac_No.Text);
推荐阅读
- java - 仅给定轮廓标记,如何在 2D 地图中查找多边形?
- visual-studio - 调试 fortran mex 代码时的奇怪值
- android - 相对布局中的按钮位置变化
- excel - 打开 Excel 文件,在最后一行添加公式,保存 Excel 文件
- html - SVG 图像引用策略
- python - 如何修复 Smooch Python API 中重复的消息回复?
- php - 如何修改 Yii2 createCommand() 函数生成的结果
- excel - 如何激活主工作簿并将其放在所有打开的 Excel 文件的前面?
- java - 所有多边形都变得透明,如何修复?
- r - 在 R 中声明 2000 个函数用于遗传算法