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++读取数据库表数据并赋值给数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)