繁体   English   中英

System.Data.OleDb.OleDbException:'条件表达式中的数据类型不匹配。 在C#中

[英]System.Data.OleDb.OleDbException: 'Data type mismatch in criteria expression. in c#

当我在TXT_Firm_Pincode.TextTXT_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 condition ? operand1 : operand2condition为true和false时,操作condition ? operand1 : operand2返回操作数operand1否则。

操作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); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM