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

2024-11-03 03:58:16
推荐回答(2个)
回答1:

privateListgetGX()

{

Listlist=newList();

stringsql="select*fromCodeGX";

DataTabledt=SqlHelper.getDataTable(sql);

foreach(DataRowrowindt.Rows)

{

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

}

returnlist;

}

扩展资料

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

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

Listlist=expMapper.getSchoolInfo();

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

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

//publicListgetSchoolInfo();

//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;

}

回答2:

你要另外写的话,可以。先连接数据库,创建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());
}