C#中如何读取数据库中的某一列值,并将其逐条写入一个数组。
{
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;
}
你要另外写的话,可以。先连接数据库,创建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试试看。