日期:2014-05-18  浏览次数:21152 次

“System.Data.DataRow”不包含“Columns”的定义,并且找不到可接受类型为“System.Data.DataRow”
错误: 1 “System.Data.DataRow”不包含“Columns”的定义,并且找不到可接受类型为“System.Data.DataRow”的第一个参数的扩展方法“Columns”(是否缺少 using 指令或程序集引用?) C:\Documents and Settings\Administrator\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\Program.cs 34 51 ConsoleApplication1
下面是我练习时候的代码:
C# code

using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
    static void Main(string[] args)
    { 
        //创建数据集
        DataSet ds = new DataSet();
        //加入数据表
        ds.Tables.Add("Person");
        //获得数据表
        DataTable dtPerson = ds.Tables["Person"];
        //创建列的结构
        dtPerson.Columns.Add("psnNo", typeof(string));
        dtPerson.Columns.Add("psnName", typeof(string));
        dtPerson.Columns.Add("psnSex", typeof(string));
        dtPerson.Columns.Add("psnAge", typeof(int));
        dtPerson.Columns.Add("psnAddress", typeof(string));
        //加入两行数据
        object[] r1 = new object[] { "001", "zengkun", "man", 23, "xiangtan" };
        DataRow r2 = dtPerson.NewRow();
        r2["psnNo"]="002";
        r2["psnName"] = "ljy";
        r2["psnSex"] = "weman";
        r2["psnAge"] = 22;
        r2["psnAddress"] = "zhuzhou";
        dtPerson.Rows.Add(r1);
        dtPerson.Rows.Add(r2);
        //修改某行数据
        DataRow cr = dtPerson.Rows[0];
        cr["psnAddress"] = "yiyang";
        //获取第二行psnName的数据
        [color=#FF0000]string name = ds.Tables["Person"].Rows[1].Columns["psnName"].ToString();
        string address = ds.Tables["Person"].Rows[1].Columns["psnAddress"].ToString();[/color]
        //遍历数据表里面的全部数据
        foreach (DataRow r in dtPerson.Rows) 
        {
            foreach (DataColumn c in dtPerson.Columns)
            {
                Console.Write(" {0}",r[c.ColumnName]);

            }
            //换行
            Console.WriteLine(string.Empty);
        }

        Console.ReadLine();

    }
}


请问一下是什么原因造成的?用的 visual studio express版;怎么解决?

------解决方案--------------------
C# code
ds.Tables["Person"].Rows[1]["psnName"].ToString();