Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible'.

Posted on 2009-05-20
Last Modified: 2012-05-07
I am developing a c# standalone appln ,in which depending on the combobox selecte value i have to display data in the datagrid view.
i am using mysql database
i'm getting a runtime error at
 dAdapter2.Fill(ds, "cl2");
in  private void clNamecomboBox_SelectedIndexChanged(object sender, EventArgs e)
pls help me to find a sol'n
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySql.Data;

using MySql.Data.MySqlClient;

namespace DataBinding



    public partial class Form1 : Form


        MySqlConnection conn;

        MySqlDataAdapter dAdapter1;

        MySqlDataAdapter dAdapter2;

        DataSet ds;

        BindingSource bSource;

        public Form1()




        private void Form1_Load(object sender, EventArgs e)



            string connString = @"server=localhost;database=abc;user id=root;password=kodanda;";

            string sql = @"select client_mst.client_id as id,Concat(client_no,'   ' ,client_name) as client from client_mst";

            conn = null;



                conn = new MySqlConnection(connString);


                 dAdapter1 = new MySqlDataAdapter(sql, conn);

                MySqlCommandBuilder cBuilder = new MySqlCommandBuilder(dAdapter1);

                ds = new DataSet();


                bSource = new BindingSource();

                bSource.DataSource = ds.Tables["Cl"];

                clNamecomboBox.DataSource = bSource;



                clNamecomboBox.ValueMember = "id";

                clNamecomboBox.DisplayMember = "client";



            catch (Exception ex)





        private void clNamecomboBox_SelectedIndexChanged(object sender, EventArgs e)


            string sql1 = @"select notes_date,notes_message from client_notes where client_id=@cid";

            dAdapter2 = new MySqlDataAdapter(sql1, conn);


            dAdapter2.SelectCommand.Parameters.Add("@cid", MySqlDbType.Int32); 

            dAdapter2.SelectCommand.Parameters["@cid"].Value = clNamecomboBox.SelectedValue;


            dAdapter2.Fill(ds, "cl2");

            BindingSource bSource2 = new BindingSource();

            bSource2.DataSource = ds.Tables["cl2"];

            dataGridView1.DataSource = bSource2;





Open in new window

Question by:APPIREDDY
  • 3

Expert Comment

Comment Utility
I'm guessing the error is coming from this line:
dAdapter2.SelectCommand.Parameters["@cid"].Value = clNamecomboBox.SelectedValue;

The error is telling you that the object passed to the Value property did not implement the interface System.IConvertible. In other words, it couldn't be "converted" to a satisfactory String representation. The SelectedValue property returned a DataViewRow. Maybe use clNamecomboBox.SelectedValue.Value?

Author Comment

Comment Utility
if i change that line to
dAdapter2.SelectCommand.Parameters["@cid"].Value = Convert.ToInt32clNamecomboBox.SelectedValue);
i'm still getting the error.
cid  is an integer in database


Author Comment

Comment Utility
clNamecomboBox.SelectedValue.Value doesn't exist

Accepted Solution

APPIREDDY earned 0 total points
Comment Utility
I have changed the order to
clNamecomboBox.DisplayMember = "client";
                clNamecomboBox.ValueMember = "id";
                clNamecomboBox.DataSource = bSource;
then I got it right

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Introduction                                                 Was the var keyword really only brought out to shorten your syntax? Or have the VB language guys got their way in C#? What type of variable is it? All will be revealed.   Also called…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now