“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.cs3451ConsoleApplication1
下面是我练习时候的代码:
- 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();