一般来讲:
1、导入命名空间
using
System.Data.SqlClient
//连接SQLServer
数据库专用
2、创建连接
SqlConnection
lo_conn
=
New
SqlConnection("Server=服务器名字或IPDatabase=数据库名字uid=用户名pwd=密码")
3、打开连接,第2步并没有真正连接数据库
lo_conn.Open()
//真正与数据库连接
4、向数据库发送SQL命令要使用SqlCommand:
SqlCommand
lo_cmd
=
new
SqlCommand()
//创建命令对象
lo_cmd.CommandText
=
"这里是SQL语句"
//写SQL语句
lo_cmd.Connection
=
lo_con
//指定连接对象,即上面创建的
5、处理SQL命令或返回结果集
lo_cmd.ExecuteNonQuery()
//这个仅仅执行SQL命令,不返回结果集,实用于建表、批量更新等不需要返回结果的 *** 作。
SqlDataReader
lo_reader
=
lo_cmd.ExecuteReader()//返回结果集
6、以数据集的方式反回结果集
SqlDataAdapter
dbAdapter
=
new
SqlDataAdapter(lo_cmd)
//注意与上面的区分开
DataSet
ds
=
new
DataSet()
//创建数据集对象
dbAdapter.Fill(ds)
//用返回的结果集填充数据集,这个数据集可以被能 *** 作数据的控件DataBind,其它的就自己发挥了吧
7、关闭连接
lo_conn.Close()
创建一个用户信息对象,登陆成功把对象相关属性赋值,这样全局内,任何地方都可以用。 追问: 看我上一追问 。 回答: 新建一个类UserInfo public class UserInfo { public int Id{getset} public string UserName{getset} ....把你需要的属性全部写出来 } public class CurrentUser{ private static readyonly UserInfo _user=new UserInfo() public static UserInfo{get{return _user}} } 登陆成功后,在数据层来填充对象 public class userDAL { public bool UserLogin(string logname,string logpass) { if(登陆成功!(这里你根据你的方法来判断)){ DataTable dt=DBhelper.getDataTable(logname,logpass) foreach(DataRow dr in dt.Rows){ CurrentUser.User=(int)dr["id"] .................................填充所有属性。。。 } } } }这个是个简单的代码,我在回答框里写的,具体的优化你自己弄,你最好用 三层架构 的,把用户对象封装到实体库里。 补充: 更改一下,我刚吃完饭回来看到还有点问题 新建一个类UserInfo public class UserInfo { public int Id{getset} public string UserName{getset} ....把你需要的属性全部写出来 } public class CurrentUser{ private static readyonly CurrentUser_userinfo=new CurrentUser() public static CurrentUser{get{return _userinfo}} private UserInfo _user{getset} } 登陆成功后,在数据层来填充对象 public class userDAL { public bool UserLogin(string logname,string logpass) { if(登陆成功!(这里你根据你的方法来判断)){ DataTable dt=DBhelper.getDataTable(logname,logpass) foreach(DataRow dr in dt.Rows){ CurrentUser.User=(int)dr["id"] .................................填充所有属性。。。 } } } }新建一个对话框作为登陆框,拖入控件,两个编辑框和两个按钮,接着为它创建一个类,并添加一个变量m_Password在CDialogApp::InitInstance()函数中的适当位置增加如下代码:
BOOL CDialogApp::InitInstance()
{
......//前面省略了,只需添加如下就行了
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE
CPasswordDialog cDlg
if(cDlg.DoModal ()==IDOK)
{
if(cDlg.m_Password !=1234)
{
AfxMessageBox("口令错误,确定后将退出程序。")
return FALSE
}
}
else
return FALSE
// The main window has been initialized, so show and update it.
pMainFrame->ShowWindow(m_nCmdShow)
pMainFrame->UpdateWindow()
return TRUE
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)