"检索记录出错" 一点办法都没有.能不能给点思路.
m_strSQL.Format("select * from PRINT_INFORMATION where PRINT_ID=%ld",i);
CMySet rs;
rs.Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL);
当遇到表中哪一条记录含有非数字字符的字段(而这些字段类型都是文本)的时侯就报"检索记录出错". ACCESS & VC++.NET.一点办法都没有.能不能给点思路.
问题点数:40、回复次数:6Top
1 楼So1o()回复于 2003-06-02 09:08:16 得分 20
m_strSQL.Format("select * from PRINT_INFORMATION where PRINT_ID='%ld'",i);
加上单引号试试
Top
2 楼mprogrammer(Anders)回复于 2003-06-02 09:24:58 得分 20
你在用SQL语句检索文本字段的时候,可以参考以下格式:
m_strSQL.Format("select * from PRINT_INFORMATION where\
PRINT_ID='"+str
+"'");
str为你需要的值.类型为CString,一定要看仔细本格式,照写就可以了.Top
3 楼habao(哈宝)回复于 2003-06-02 13:56:40 得分 0
谢谢2位
可是我用这句都不行:
m_strSQL.Format("select * from PRINT_INFORMATION");
再帮我想想办法?Top
4 楼habao(哈宝)回复于 2003-06-02 13:59:19 得分 0
表非常简单,只有5个字段,除了PRINT_ID是长整型外,其他都是文本Top
5 楼mprogrammer(Anders)回复于 2003-06-03 09:00:22 得分 0
说详细一些,最好贴出代码.会不会是数据源;连接的问题.Top
6 楼habao(哈宝)回复于 2003-06-04 00:52:37 得分 0
m_strSQL.Format("select * from PRINT_INFORMATION");
if(m_pSet->IsOpen())
m_pSet->Close();
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,m_strSQL);
while(!m_pSet->IsEOF())
{
int temp=0;
m_pSet->GetFieldValue(temp,value);
sprintf(buff,"%d",value.m_lVal);
List.InsertItem(i,buff);
for(int j=1;j<=4;j++)
{
m_pSet->GetFieldValue(j,str);
List.SetItemText(i,j,(LPCTSTR)str);
}
m_pSet->MoveNext();//跟踪到这里报错错
i++;
}
m_pSet->Close();
我自己还是没有办法,大家帮帮忙Top




