比如在VC程序要取得SQL SERVER数据表的行数? 用count? 怎么做才能返回呢?
解决方案 »
- ReadFile从TXT中读出乱码问题
- 已知Bezier曲线的4个点(起点,两个控制点,终点)请问,如何能算出在起点和终点之间的两个曲线上的点!
- WSAAsyncSelect 如何设置连接超时????
- 请问如何创建一个按钮,点击按钮可以打开一个“打开文件夹”的对话框?
- 怎么样限制CComboBox控件只能输入数字?
- 我想学习用VC编DLL.求一个源代码(随便什么类型,入门用)!不要是MFC作的!用WIN32做的!
- 如何实现n的排列并打印列出?
- 怎样用SendMessage发送LVN_COLUMNCLICK消息
- 强烈要求CSDN 改回6号以前的版本!新版简直是垃圾!支持者跟贴!
- 子窗口卡死 父窗口复活
- 求助:LNK4039用 /SECTION 选项指定的节不存在!
- 相同的程序为什么在Windows2000 Server下与Windows XP下用ROSE PURIFY测试,内存泄漏会有那么大差别???
from tablename
select count(*) from table
ADO
设Recordset的游标为adUseClient,打开记录集, 然后GetRecordCount
from tablenamevc使用ADO的recordset智能指针,得到recordset,就像
vt=rs->Fields->Item["MsgFormat"]->Value;
if (vt.vt==VT_NULL)
{
sub.nMsgFormat=15;
}
else
{
sub.nMsgFormat=vt.intVal;
}
_RecordsetPtr rs;
rs.CreateInstance(__uuidof(Recordset));
rs->CursorLocation =adUseClient;
rs->CursorType =adOpenForwardOnly;
rs->LockType =adLockReadOnly;CString str_sql;
str_sql.Format("select count(*) as cc from tablename");
_variant_t vsqlstr=(_variant_t)str_sql;
if (rs->State!=0)
{
rs->Close ();
} rs->Open (vsqlstr,_variant_t((IDispatch *)conn),adOpenForwardOnly,adLockReadOnly,adCmdText);
int Lines=0;
if (rs->adoEOF)
Lines=0;
else
{
_variant_t vt;
vt=rs->Fields->Item["cc"]->Value;
if (vt.vt==VT_NULL)
{
Lines=0;
}
else
{
Lines=vt.intVal;
}
}
///////
这样得到的行数,用什么保存?
这条SELECT COUNT(*) 语句必须是一个字符串的,你不可能说
LONG raws=0;
char*p=(char*)"raw=SELECT COUNT(*)...."; 然后执行 SQLExecDirect(.. p...)吧?