foreach遍历数据库中某个字段的值

时间:2021-09-16 14:06:16
在SQL server数据库中有一字段Sno (类型为char(12) 存储着学生的学号 如:200701050807)
怎样用Foreach遍历该字段的所有学号呢?  不会写请指教

13 个解决方案

#1


为什么非要FOREACH遍历呢?
也可以用DATAREADER读取,然后建个ARRAYLIST,ADD进去.

#2


1.数据库中没有foreach这个循环
2.数据库中的字段你是要在数据库中判断还是在C#程序中?

#3



select Sno from table_name

不就取得了所有的学号了么?

#4


引用 1 楼 only_endure 的回复:
为什么非要FOREACH遍历呢?
也可以用DATAREADER读取,然后建个ARRAYLIST,ADD进去.


用DATASET直接弄就好了,再用FOREACH循环读出

#5


用DATASET直接弄就好了,再用FOREACH循环读出
或DataReader

#6


数据库中哪有什么foreach

#7


 foreach (DataColumn dc in dt.Columns)
            {
                foreach (DataRow dr in dc)
                { 
                    
                }
            }

#8


用foreach的话,你得先把数据查询出来,得到一个结果集

#9


 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();
       }

#10


引用 9 楼 wuyq11 的回复:
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();
      }

#11


网上有很多这样的列子啊

#12


说详细点好吗?QQ76477140

#13



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

#1


为什么非要FOREACH遍历呢?
也可以用DATAREADER读取,然后建个ARRAYLIST,ADD进去.

#2


1.数据库中没有foreach这个循环
2.数据库中的字段你是要在数据库中判断还是在C#程序中?

#3



select Sno from table_name

不就取得了所有的学号了么?

#4


引用 1 楼 only_endure 的回复:
为什么非要FOREACH遍历呢?
也可以用DATAREADER读取,然后建个ARRAYLIST,ADD进去.


用DATASET直接弄就好了,再用FOREACH循环读出

#5


用DATASET直接弄就好了,再用FOREACH循环读出
或DataReader

#6


数据库中哪有什么foreach

#7


 foreach (DataColumn dc in dt.Columns)
            {
                foreach (DataRow dr in dc)
                { 
                    
                }
            }

#8


用foreach的话,你得先把数据查询出来,得到一个结果集

#9


 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();
       }

#10


引用 9 楼 wuyq11 的回复:
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();
      }

#11


网上有很多这样的列子啊

#12


说详细点好吗?QQ76477140

#13



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