parameter has no default value vb.net

Viewed 36

I'm getting the error System.Data.OleDb.OleDbException: 'Parameter @client_address has no default value.' but I have sent all the parameters needed.

 cmd.Connection = cn
    cmd.CommandText = "insert into invoice([invoice_date],[client_name],[client_company_name],[client_email],[client_contact_no],[client_address],[client_delivery_address],[total_basic_amount],[freight_rate],[delivery_rate],[advanced_amount],[pending_amount])
        Values(@invoice_date,@client_name,@client_company_name,@client_email,@client_contact_no,@client_address,@client_delivery_address,@total_basic_amount,@freight_rate,@delivery_rate,@advanced_amount,@pending_amount)"
    cmd.Parameters.AddWithValue("@invoice_date", datetime.Value)
    cmd.Parameters.AddWithValue("@client_name", client_name.Text)
    cmd.Parameters.AddWithValue("@client_company_name", company_name.Text)
    cmd.Parameters.AddWithValue("@client_email", email.Text)
    cmd.Parameters.AddWithValue("@client_contact_no", contact_no.Text)
    cmd.Parameters.AddWithValue("@client_address", address.Text)
    cmd.Parameters.AddWithValue("@client_delivery_address", delivery_address.Text)
    cmd.Parameters.AddWithValue("@total_basic_amount", total_basic_amount.Text)
    cmd.Parameters.AddWithValue("@freight_rate", freigh_rate.Text)
    cmd.Parameters.AddWithValue("@delivery_rate", delivery_rate.Text)
    cmd.Parameters.AddWithValue("@advanced_amount", advance_received_amount.Text)
    cmd.Parameters.AddWithValue("@pending_amount", total_pending_amount.Text)
    cmd.ExecuteNonQuery()
    MessageBox.Show("Invoice Stored")

I'm using accessdb in vb.net. and all variables has value nothing is empty. when I comment or remove client_address it start giving error on client_delivery_address.

1 Answers

Changes the way to create the parameter specifying the type and size, as in the example below:

cmd.Parameters.Add("@client_address", System.Data.OleDb.OleDbType.BSTR, 100);
Related