CXscjxtApp *app=(CXscjxtApp *)AfxGetApp();
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=chengji;UID=asus;PWD=");
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly, _T("SELECT * FROM cheng_ji")); int nFields = rs.GetODBCFieldCount();
int l=nFields;
for(l;l>0;l--)
{
CString zongfen1=app->zongfen [l];
CString xuehao1=app->xuehao [l];
CString name1=app->name [l];
if(app->zongfen [l]<=app->zongfen [l-1])
{
app->zongfen [l]=app->zongfen [l-1];
app->xuehao [l]=app->xuehao [l-1];
app->name [l]=app->name [l-1];
app->zongfen [l-1]=zongfen1;
app->xuehao [l-1]=xuehao1;
app->name [l-1]=name1;
} }
CString q[100];
for(int w=1;w<=100;w++)
{
q[w]=w;
}
int y=0;
m_list.DeleteAllItems ();
for(y;y<l;y++)
{
//int paiming=1;
//CString pm;
//pm.Format ("%d",paiming);
CString xuehao2;
CString name2;
CString zongfen2;
xuehao2=app->xuehao [y];
name2=app->name [y];
zongfen2=app->zongfen [y];
SetDlgItemText(IDC_EDIT1,name2);
m_list.InsertItem (y,q[y]);
m_list.SetItemText (y,1,app->xuehao [y]);
m_list.SetItemText (y,2,app->name [y]);
m_list.SetItemText (y,3,app->zongfen [y]);
//paiming ++;
//y++;
}
rs.Close();
db.Close();
我在CXscjxtApp里定义了三个数组 分别为xuehao[100],name[100];zongfen[100];我把数据库里的数据存在了这三个数组里。然后我在另一个dailog里调用了这个歌数组 并且把值插入到m_list(list control控件)里,为什么我 写的语句没能把数据插入到list control控件上?
CDatabase db;
db.Open(NULL,FALSE,FALSE,"ODBC;DSN=chengji;UID=asus;PWD=");
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly, _T("SELECT * FROM cheng_ji")); int nFields = rs.GetODBCFieldCount();
int l=nFields;
for(l;l>0;l--)
{
CString zongfen1=app->zongfen [l];
CString xuehao1=app->xuehao [l];
CString name1=app->name [l];
if(app->zongfen [l]<=app->zongfen [l-1])
{
app->zongfen [l]=app->zongfen [l-1];
app->xuehao [l]=app->xuehao [l-1];
app->name [l]=app->name [l-1];
app->zongfen [l-1]=zongfen1;
app->xuehao [l-1]=xuehao1;
app->name [l-1]=name1;
} }
CString q[100];
for(int w=1;w<=100;w++)
{
q[w]=w;
}
int y=0;
m_list.DeleteAllItems ();
for(y;y<l;y++)
{
//int paiming=1;
//CString pm;
//pm.Format ("%d",paiming);
CString xuehao2;
CString name2;
CString zongfen2;
xuehao2=app->xuehao [y];
name2=app->name [y];
zongfen2=app->zongfen [y];
SetDlgItemText(IDC_EDIT1,name2);
m_list.InsertItem (y,q[y]);
m_list.SetItemText (y,1,app->xuehao [y]);
m_list.SetItemText (y,2,app->name [y]);
m_list.SetItemText (y,3,app->zongfen [y]);
//paiming ++;
//y++;
}
rs.Close();
db.Close();
我在CXscjxtApp里定义了三个数组 分别为xuehao[100],name[100];zongfen[100];我把数据库里的数据存在了这三个数组里。然后我在另一个dailog里调用了这个歌数组 并且把值插入到m_list(list control控件)里,为什么我 写的语句没能把数据插入到list control控件上?
for(l;l>0;l--)
到l=0;
for(y;y<l;y++) l=0 !!
下面问题继续 我怎么不能把值赋值给全局变量?
我在CXscjxtApp类里加了面代码里的三个数组。我把数据库里的数据存在数组里面 你们看看为什么我不能把值赋给全局变量的数组 代码如下while(!rs.IsEOF())
{
CString varID;
rs.GetFieldValue("xuehao", varID);
m_list.InsertItem(0,varID);
app->xuehao [z]=varID; CString varName;
rs.GetFieldValue("name", varName);
m_list.SetItemText(0, 1, varName);
app->name [z]=varName; CString varyuwen;
rs.GetFieldValue("yuwen", varyuwen);
m_list.SetItemText(0, 2, varyuwen);
int a=atoi(varyuwen);
CString varshuxue;
rs.GetFieldValue("shuxue",varshuxue);
m_list.SetItemText(0,3,varshuxue);
int b=atoi(varshuxue); CString varyingyu;
rs.GetFieldValue("yingyu",varyingyu);
m_list.SetItemText (0,4,varyingyu);
int c=atoi(varyingyu); CString varwuli;
rs.GetFieldValue("wuli",varwuli);
m_list.SetItemText (0,5,varwuli);
int d=atoi(varwuli); CString varhuaxue;
rs.GetFieldValue("huaxue",varhuaxue);
m_list.SetItemText (0,6,varhuaxue);
int e=atoi(varhuaxue); CString varlishi;
rs.GetFieldValue("lishi",varlishi);
m_list.SetItemText (0,7,varlishi);
int f=atoi(varlishi); CString varzhengzhi;
rs.GetFieldValue("zhengzhi",varzhengzhi);
m_list.SetItemText (0,8,varzhengzhi);
int g=atoi(varzhengzhi); int h;
h=a+b+c+d+e+f+g;
CString varzongfen;
varzongfen.Format ("%d",h);
m_list.SetItemText(0,9,varzongfen);
app->zongfen [z]=varzongfen; rs.MoveNext();
z++;
}
int nItem = m_list.GetItemCount ();
app->p =nItem;
//GetDlgItem(IDC_EDIT4)->SetWindowText(nItem);
SetDlgItemInt(IDC_EDIT4,nItem);
rs.Close();
db.Close();
1 是否直接遇到rs.Eof
2 是否读到数据
3 z是否合法
CString xuehao[100];//是吧?
我想比较总分里的数据该怎么比较?
我用语句
int a=atoi(zongfen[i]);
int b=atoi(zongfen[i-1];
if(a<=b)
{
.....
}
怎么这样写就崩溃了?
另外用 _ttoi 可以兼容UNICODE和非UNICODE
用CStringArray 你这样开销太大
2.CString可以比较:
if(a==b)
没能插入的原因是 忘记了用冒泡排序算法。那样比较只能诞生一个最大的。经过修改 排序和插入已经实现
int n=m_list.GetItemRecond();
CString name[n];
能行不?
int n=m_list.GetItemCount ()
CString name[n];
能行不?