【求助】【SQL Server 2008】未能找到名为 CustomerIDNumber 的列。

时间:2022-03-05 00:57:31
每当运行到红色行的时候,系统就会报错,错误提示为: 未能找到名为 CustomerIDNumber 的列。
部分代码如下:

/*======= 删除 ========*/
 private void btnDelete_Click_1(object sender, EventArgs e)
  {
    DialogResult dr = MessageBox.Show("确定删除吗?", "友情提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (dr == DialogResult.Yes)
            {
                //根据身份证号删除信息               
        string customerIDNumber = (dataGridView1.CurrentRow.Cells["CustomerIDNumber"].Value).ToString(); //获得选中行的 "身份证号码" 列.每次运行到这里的时候就会报错!!!!!!!!!!!!!
                try
                {
                    bool b = bll.DeleteCustomerInfoByCustomerIDNumber(customerIDNumber);
                    if (b)
                    {
                        //删除成功后进行刷新
                        List<CustomerInfo> list = bll.SelectCustomerInfo();
                        dataGridView1.DataSource = list;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }



这里我将报错位置另外提出来:
     string customerIDNumber = (dataGridView1.CurrentRow.Cells["CustomerIDNumber"].Value).ToString(); //获得选中行的 身份证号码 列
恳请高手指教,多谢多谢!!!感激不尽!

6 个解决方案

#1


Cells[index]用索引试试。Cells[CustomerIDNumber所在列]

#2


未能找到名为 CustomerIDNumber 的列

#3




   string customerIDNumber  =
   GridView.Rows(GridView.CurrentRow.Index).Cells(i).Value.ToString();

   i 改为列名试一试,大小写等注意一下

#4


引用 3 楼 abcjun188 的回复:
C# code


   string customerIDNumber  =
   GridView.Rows(GridView.CurrentRow.Index).Cells(i).Value.ToString();

   i 改为列名试一试,大小写等注意一下


改为列名,是对的。
但是为什么写成[""]形式就不对呢?
我在网上见到,有这么写的。

#5


引用 4 楼 zhangyuehua123 的回复:
引用 3 楼 abcjun188 的回复:
C# code


string customerIDNumber =
GridView.Rows(GridView.CurrentRow.Index).Cells(i).Value.ToString();

i 改为列名试一试,大小写等注意一下


改为列名,是对的。
但是为什么写成[""]形式就不对呢?
我在网上见到,有这么写……
因为cell里德["string"],跟你绑定的列col["string"]里的string是两回事儿。

#6


问题解决了。datagradview窗体 -> 选择编辑列 -> Name -> 更改为你想要的string就可以用了。
感谢楼上。

#1


Cells[index]用索引试试。Cells[CustomerIDNumber所在列]

#2


未能找到名为 CustomerIDNumber 的列

#3




   string customerIDNumber  =
   GridView.Rows(GridView.CurrentRow.Index).Cells(i).Value.ToString();

   i 改为列名试一试,大小写等注意一下

#4


引用 3 楼 abcjun188 的回复:
C# code


   string customerIDNumber  =
   GridView.Rows(GridView.CurrentRow.Index).Cells(i).Value.ToString();

   i 改为列名试一试,大小写等注意一下


改为列名,是对的。
但是为什么写成[""]形式就不对呢?
我在网上见到,有这么写的。

#5


引用 4 楼 zhangyuehua123 的回复:
引用 3 楼 abcjun188 的回复:
C# code


string customerIDNumber =
GridView.Rows(GridView.CurrentRow.Index).Cells(i).Value.ToString();

i 改为列名试一试,大小写等注意一下


改为列名,是对的。
但是为什么写成[""]形式就不对呢?
我在网上见到,有这么写……
因为cell里德["string"],跟你绑定的列col["string"]里的string是两回事儿。

#6


问题解决了。datagradview窗体 -> 选择编辑列 -> Name -> 更改为你想要的string就可以用了。
感谢楼上。