VC中写SQl语句,查找数据,数据库是sql2000

VC中写SQl语句,查找数据,数据库是sql2000,sql="selectnamefromstudentwhereid=1";这个无法查出来... VC中写SQl语句,查找数据,数据库是sql2000,sql="select name from student where id=1";这个无法查出来 展开
 我来答
大脸猫脸大252
2010-08-04 · TA获得超过193个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:161万
展开全部
1. 在stdafx.h 添加下面代码:
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2. 在C*App::InitInstance()中添加:
AfxOleInit();

3. 下面是一个按钮的相应事件, 数据库连接字符串 和 查询语句换成你的就可以了:
void CTestDlg::OnButton1()
{

CString strDatasource = "my2005";
CString strDatabase = "myoa";
CString strUserName = "sa";
CString strUserPwd = "yourpwd";

CString strConn; // 连接数据库字符串
CString strSql; // 查询语句
CString strRet; // 查询结果

LPTSTR lpszConn = NULL;
LPTSTR lpszSql = NULL;

_RecordsetPtr pRecordset;
_CommandPtr pCommand;
_ConnectionPtr pConnection;

strConn.Format(_T("Provider=SQLOLEDB.1;Data Source=%s;Initial Catalog=%s;User ID=%s; PWD=%s"), strDatasource, strDatabase, strUserName, strUserPwd);
strSql = _T("select pwd from UserInfo where loginName= 'test'");

try
{
HRESULT hr = pConnection.CreateInstance("ADODB.Connection");
lpszConn = new TCHAR[strConn.GetLength()+1];
_tcscpy(lpszConn, strConn);

pConnection->put_ConnectionTimeout(long(5));
if (SUCCEEDED(hr))
{
pConnection->Open(lpszConn, "", "", adModeUnknown); //adModeUnknown adConnectUnspecified

pRecordset.CreateInstance("ADODB.Recordset");

lpszSql = new TCHAR[strSql.GetLength()+1];
_tcscpy(lpszSql, strSql);

pRecordset = pConnection->Execute(lpszSql, NULL, adCmdText);
_variant_t vCount = pRecordset->GetCollect("pwd"); //取得第一个字段的值放入vCount变量

strRet.Format((_bstr_t)vCount);
MessageBox(strRet); // 显示查询结果

}

}
catch(_com_error e)
{
CString strTemp;
strTemp.Format(_T("错误:\r\n%s"), e.ErrorMessage());
AfxMessageBox(strTemp);
return;
}
/*释放资源*/
if (pRecordset->State)
{
pRecordset->Close();
pRecordset.Release();
pRecordset = NULL;

}
if ( pConnection->State)
{
pConnection->Close();
pConnection= NULL;
}
::CoUninitialize(); //释放COM 资源。
if ( lpszConn != NULL)
delete lpszConn;
if ( lpszSql != NULL)
delete lpszSql;
}

注意: sql 语句 我一般都是 查询分析器里 执行一下,看是否有错误, 然后在代码中构建 相应的字符串,根据字段的类型决定要不要 单引号。
surplushaode
2010-08-04 · TA获得超过2055个赞
知道大有可为答主
回答量:2510
采纳率:0%
帮助的人:2386万
展开全部
但是是无法查找出来的了。。因为你给写错了撒。
应该是select name from student where id = '1'这样写的,要加个单引号的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式