foreach (DataColumn dc in dt.Columns) { foreach (DataRow dr in dc) {
} }
用foreach的话,你得先把数据查询出来,得到一个结果集
string connstring =""; using(SqlConnection conn= new SqlConnection(connstring )) { string strsql=@"select * from from student"; SqlDataAdapter thisAdapter = new SqlDataAdapter(strsql, conn); DataSet ds= new DataSet(); thisAdapter.Fill(ds); foreach (DataRow dr in ds.Tables[0].Rows) { Console.WriteLine(dr["SNo"].ToString()); } conn.Close(); }
DECLARE @sno nvarchar(12) DECLARE CC CURSOR FOR SELECT sno FROM students OPEN CC WHILE (0=0) BEGIN FETCH NEXT FROM CC INTO @sno IF @@FETCH_STATUS <> 0 BREAK PRINT @sno END CLOSE CC DEALLOCATE CC
也可以用DATAREADER读取,然后建个ARRAYLIST,ADD进去.
2.数据库中的字段你是要在数据库中判断还是在C#程序中?
select Sno from table_name不就取得了所有的学号了么?
用DATASET直接弄就好了,再用FOREACH循环读出
或DataReader
{
foreach (DataRow dr in dc)
{
}
}
using(SqlConnection conn= new SqlConnection(connstring ))
{
string strsql=@"select * from from student";
SqlDataAdapter thisAdapter = new SqlDataAdapter(strsql, conn);
DataSet ds= new DataSet();
thisAdapter.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
Console.WriteLine(dr["SNo"].ToString());
}
conn.Close();
}
DECLARE @sno nvarchar(12)
DECLARE CC CURSOR FOR
SELECT sno FROM students
OPEN CC
WHILE (0=0)
BEGIN
FETCH NEXT FROM CC INTO @sno
IF @@FETCH_STATUS <> 0 BREAK
PRINT @sno
END
CLOSE CC
DEALLOCATE CC