c# 数据库中表的列放入数组

c# 数据库中表的列放入数组,第1张

string connectionstring="server=(local);database=School;Intergrated Scurity=true";

Sqlconnection con=new Sqlconnection(connectionstring);

Sqlcommand com1=new Sqlcommand("select num from test1",con);

Sqlcommand com2=new Sqlcommand("select num from test2",con);

Sqlcommand com3=new Sqlcommand("select num from test3",con);

int i=0,j=0,m=0,sum;

conOpen();

SqlDataReader reader1=com1ExecuteReader()

while(reader1Read())

{

i++;

}

reader1close();

conclose();

sum=i;

i=0;

int[] x=new int[sum];

conOpen();

SqlDataReader reader1=com1ExecuteReader()

while(reader1Read())

{

x[i]=reader1getvalue(0);

}

reader1close();

conclose();

conOpen();

SqlDataReader reader2=com2ExecuteReader()

while(reader1Read())

{

j++;

}

reader2close();

conclose();

sum=j;

j=0;

int[] y=new int[sum];

conOpen();

SqlDataReader reader2=com2ExecuteReader()

while(reader2Read())

{

y[i]=reader2getvalue(0);

}

reader2close();

conclose();

conOpen();

SqlDataReader reader3=com3ExecuteReader()

while(reader3Read())

{

m++;

}

reader3close();

conclose();

sum=m;

m=0;

int[] z=new int[sum];

conOpen();

SqlDataReader reader3=com3ExecuteReader()

while(reader3Read())

{

y[i]=reader3getvalue(0);

}

reader3close();

conclose();

大体的逻辑是没有错了,只有一些细节,你好好run一下

首先需要一个连接字符串连接到数据,然后调用 SqlDataAdapter方法获得数据库的数据,但这样并不会真正获得数据,还要将连接字符串打开,再通过一个SqlCommandBuilder对象将数据填充到一个表中,然后就可以通过这个表获得数据了,下面以获得姓名字段的全部值为例,示例代码如下: string[] name = new string[10];//有多少记录,数组就定义多大,或者使用集合,就不用考虑越界问题了! DataTable student; SqlConnection link=new SqlConnection("Server=玛哈维路-PC;database=软件0902;Persist Security Info=False;Integrated Security=true"); SqlDataAdapter sql=new SqlDataAdapter("select from 同学信息表", link); SqlCommandBuilder builder=new SqlCommandBuilder(sql); sqlFill(student); for (int i = 0; i < studentRowsCount; i++) { name[i](studentRows[i]["姓名"]); } //表的外观是二维数组,其实访问时是用数组的数组,前为行,后为行,由于列名确定,行号在变,所以得到肯定是一行!当然也还有其它的写法,这只是一个参考,希望对你有帮助!

随意换行)

那么有2个方案(个人设想):

其一,先预读一行(按字符读入一个够大的数组),统计其中的空格数,空格数减1就是每行需要读取的数据个数。(大概可以用getline来处理)

其二,预先获取整个文件的总行数(=城市个数)。代码是网上Ctrl+V来的

int CountLines(char filename)

{

ifstream ReadFile;

int n=0;

char line[512];

ReadFileopen(filename,ios::in);//ios::in 表示以只读的方式读取文件

if(ReadFilefail())//文件打开失败:返回0

{

return 0;

}

else//文件存在

{

while(!ReadFileeof())

{

ReadFilegetline(line,512,'\n');

n++;

}

return n;

}

不行,两个是完全不同的结构

如果硬把数组,比如{1,2,3,4,5}存入数据库

唯一的方法是把"1,2,3,4,5"当作varchar存进去。

所以只能遍历这个数组然后分别吧1,2,3,4,5存进去。

当然,java框架也许会提供类似的方法,你传一个数组进去,他直接就抱存入数据库。但是内部也一定是拆开存的。

比如users表

$sql="select from users";

$res=mysql_query($sql);

得到一个结果集资源,然后用

$arr=mysql_fetch_assoc($res);

得到就是一个二维的关联数组。

拿到cursor对象后调用Cursor类的方法即可

如:

String[]strs=newString[cursorgetCount()];

StringcolumnName="";

intposition=0;

//cursor(position);

cursormoveToFirst();

while(cursormoveToNext()){

intindex=cursor(columnName);

Stringstr=cursorgetString(index);

strs[position]=str;

}

以上就是关于c# 数据库中表的列放入数组全部的内容,包括:c# 数据库中表的列放入数组、C#如何读取数据库表中每一列的数据分别赋值给数组、c++读取数据库表数据并赋值给数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9824040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存