可以参考
http://wenku.baidu.com/view/3995b8c8050876323112122d.html
1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>.SQL Server Management Studio 下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist <3>.SQL Server 2005 driver for JDBC 下载地址:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe 2.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) 是用java连接吗? 如果是,方法如下: <1>将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量 在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar <2>设置SQLEXPRESS服务器: a.打开SQL Server Configuration Manager ->SQLEXPRESS的协议 ->TCP/IP b.右键单击启动TCP/IP c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433 d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器 e.关闭SQL Server Configuration Manager <3>打开刚刚安装好的 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample <4>打开Eclipse a.新建工程->Java ->Java project,起名为Test b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中 <5>编写Java代码来测试JDBC连接SQL Server数据库(1).在文件stdafx.h中最后一个#endif的前一行写入#import
"C:\program
files\common
files\System\ado\msado15.dll"
no_namespace
\
rename("EOF","EndOfFile")
\
rename("LockTypeEnum","newLockTypeEnum")
\
rename("DataTypeEnum","newDataTypeEnum")
\
rename("FieldAttributeEnum","newFieldAttributeEnum")
\
rename("EditModeEnum","newEditModeEnum")
\
rename("RecordStatusEnum","newRecordStatusEnum")
\
rename("ParameterDirectionEnum","newParameterDirectionEnum")
如果你的系统不是安装在C盘的话就把#import
后面的C改成系统所有的盘
--------------------------------------------------------------------------
(2).在C***App类的public:下加入
_RecordsetPtr
m_pADOSet
bool
ADOExecute(_RecordsetPtr
&ADOSet,
_variant_t
&strSQL)
在private:下加入
private:
_ConnectionPtr
ADOConn
--------------------------------------------------------------------------
在class
C***App
:
public
CWinApp
{
...
}之后#endif之前加入
extern
CxxxApp
theApp
--------------------------------------------------------------------------
(3)在BOOL
C***App::InitInstance()函数中Enable3dControls()
//
Call
this
when
linking
to
MFC
statically这一行下面加入
if(
FAILED(::CoInitialize(NULL))
)
{
AfxMessageBox("ADO
Init
failed")
return
false
}
try
{
ADOConn.CreateInstance(__uuidof(Connection))
ADOConn->Open("DSN=OBDC数据源Provider=MSDASQL","用户","密码",
adConnectUnspecified)//这一行要自已修改
}
catch(_com_error
&e)
{
CString
err
err.Format("%s",
(char*)(e.Description())
)
AfxMessageBox(err)
}
catch(...)
{
AfxMessageBox("Unknown
Error...")
}
m_pADOSet.CreateInstance(__uuidof(Recordset))
-------------------------------------------------------------------------
并在文件最后加上如下代码:
bool
CxxxApp::ADOExecute(_RecordsetPtr
&ADOSet,
_variant_t
&strSQL)
{
if
(
ADOSet->State
==
adStateOpen)
ADOSet->Close()
try
{
ADOSet->Open(strSQL,
ADOConn.GetInterfacePtr(),
adOpenStatic,
adLockOptimistic,
adCmdUnknown)
return
true
}
catch(_com_error
&e)
{
CString
err
err.Format("ADO
Error:
%s",(char*)e.Description())
AfxMessageBox(err)
return
false
}
}
------------------------------------------------------------------------
最后就可以在登录时执行SQL语句了,比如用户为CString
strUser,
密码是CString
strPwd数据库表是user_table(user_id,
user_name,
user_pwd)则
_variant_t
sqlQuery
sqlQuery
=
"select
*
from
user_table
where
user_name='"+strUser
+"'
and
user_pwd='"+
strPwd
+"'"
theApp.ADOExecute(theApp.m_pADOSet,
sqlQuery
)
int
iCount
=
theApp.m_pADOSet->GetRecordCount()
if
(
0==iCount
)
{
AfxMessageBox(_T("密码错误"),
MB_ICONEXCLAMATION)
return
}
else
{
AfxMessageBox(_T("登录成功"),
MB_ICONEXCLAMATION)
不知道能否帮到你,参考下把
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)