datarow的问题 在线等

来源:百度知道 编辑:UC知道 时间:2024/06/20 07:12:39
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication9
{
class Program
{

static void Main(string[] args)
{

string strconn, strsql;
strconn = "server=(local);Database=ms;UID=sa;PWD= ";
strsql = "SELECT id FROM owen";
SqlConnection cn = new SqlConnection(strconn);
cn.Open();

SqlDataAdapter da = new SqlDataAdapter(strsql, strconn);

DataSet ds = new DataSet();
da.Fill(ds);

DataRow row;
foreach (DataColumn col in row.Table.Columns)
Console.WriteLine("{0}:(1)",col.name,row[col]);
}
}
}

数据库 表owen 有两个列 一个 id 另外一个 nam

首先,row没有赋值。
其次,col是DataColumn类型的实例,在VS的IDE中在col后面根本不可能会有name属性的,分析一下楼主的意思,可能要的是col.ColumnName吧?
最后,如果想显示name列,数据源里得有name列。
修改你的代码如下:

static void Main(string[] args)
{

string strconn, strsql;
strconn = "server=(local);Database=Test;UID=sa;PWD=sasa ";
strsql = "SELECT id,name FROM owen";
SqlConnection cn = new SqlConnection(strconn);
cn.Open();

SqlDataAdapter da = new SqlDataAdapter(strsql, strconn);

DataSet ds = new DataSet();
da.Fill(ds);

DataRow row = ds.Tables[0].Rows[0];

foreach (DataColumn col in row.Table.Columns)
{
Console.WriteLine("{0}:{1}", col.ColumnName, row[col]);
}
Console.ReadLine();
}

DataRow 没值..
1.改为ds.table[0].columns