C#中如何读取数据库中的某一列值,并将其逐条写入一个数组。

private List<string> getGX()
{
List<string> list = new List<string>();
string sql="select 课程编号 from 课程信息 where 已选人数< 上限人数";
DataTable dt = SqlHelper.getDataTable(sql);
foreach (DataRow row in dt.Rows)
{
list.Add(row["课程编号"].ToString());
}
return list;
}
这里面如果不用sqlhelper,用什么代替?请写出可靠代码

privateList<string>getGX()

{

List<string>list=newList<string>();

stringsql="select*fromCodeGX";

DataTabledt=SqlHelper.getDataTable(sql);

foreach(DataRowrowindt.Rows)

{

list.Add(row["GXName"].ToString());

}

returnlist;

}

扩展资料

从数据库读出一列数据,处理完成后返回数组

publicArray[]getschoolinfo(){//函数返回一个数组

List<String>list=expMapper.getSchoolInfo();

//list接受从mysql得到的数据

//@Select("SELECTDISTINCTexpSchoolFROMtbl_expInfo")从数据库中获得所有学校的名字并去除重复的.

//publicList<String>getSchoolInfo();

//List指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据.

//声明一个数组

Array[]arraySchool=newArray[list.size()];

//声明一个list遍历器

Iteratoriterator=list.iterator();

inti=0;

//遍历list的同时给数组赋值

while(iterator.hasNext()){

arraySchool[i]=newArray(i,(String)iterator.next());

i++;

}

returnarraySchool;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-26

你要另外写的话,可以。先连接数据库,创建SqlDataApter对象,把查到的结果集填充到Datatable里显示、然后再逐个获取Datatable单元格的内容。


或用SqlDataReader来,它是逐行读取数据的,每读一次就把当前行添加到集合里。


sqlhelper这个类是对数据库操作进行封装而已,方便重复使用。你在vs里,右击你的代码 Sqlhelper---转到定义,仔细看它是怎么通过getDataTable()这个函数

获得数据库数据的。原理都是一样的。


string constr = "data source=.;database=Goods; uid=123;pwd=123;";//连接的数据库的信息
SqlConnection conn = new SqlConnection(constr);//创建连接
conn.Open();//打开连接
string sql = "select *from Course"; //要执行的sql语句,你改成你的表名
SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
sda.Fill(dt);//填充数据到dt
foreach (DataRow row in dt.Rows)
{
   list.Add(row["课程编号"].ToString());
}

追问

我的是C#啊。access,以前你给我写过这个,SqlDataAdapter和fill用不了啊。

追答

哦,那你连接access连接上了吗。
这就是c#的。我明天安装了access试试看。

追问

真是太感谢你了。明天你试试再告诉我吧。我查了网上好久似乎很麻烦,还有List list这个list不能隐式转换成string,也请你解决一下。

本回答被提问者和网友采纳