簡體   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