




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、登录系统资料 数据库编程工具:visual studio x+sql server x语言:c#建立数据库表:数据库名字:webdata表名字:usr表列名字:uid /用户名字pwd/密码添加控件用户名控件,添加在表格中,源代码:用户名asp:textboxid=uidrunat=server/asp:textbox密码控件,添加在表格中,源代码:密nbsp;nbsp;nbsp;nbsp;码asp:textboxid=pwdunat=servertextmode=password/asp:textbox登陆按钮控件,源代码:asp:buttonid=passrunat=servertext=
2、登陆onclick=pass_clickwidth=85px/数据库编程首先添加两个类(添加在文件夹app_code中):数据库类,sqlserver.cs:using system;using system.data;using system.data.sqlclient;namespacelee/summary/ sqlserver类/summarypublicclasssqlserver privatestring _message = null;/summary/ 信息/summarypublicstring message get return _message; set _mess
3、age = value; privatesqlconnection conn = null; /数据库连接,用于事务privatesqltransaction trans = null;/数据库事务/summary/ 连接字符串/summarystring connstring = system.configuration.configurationmanager.connectionstringssqlserver.connectionstring; #region 一般操作/summary/ 调用存储过程/summary/param name=name/param/param name=p
4、aramlist/param/returns-1:失败/returnspublicint callprocedure(string name, system.data.common.dbparameter paramlist) sqlconnection conn = newsqlconnection; conn.connectionstring = this.connstring;sqlcommand command = newsqlcommand(name); command.commandtype = system.data.commandtype.storedprocedure; co
5、mmand.parameters.addrange(paramlist); command.connection = conn;try conn.open;return command.executenonquery; catch (sqlexception ex) this._message = ex.message;return -1; finally conn.close; /summary/ 获取结果集/summary/param name=selectsql/param/returns/returnspublicdatatable select(string selectsql) d
6、atatable ds = newdatatable;sqlconnection conn = newsqlconnection; conn.connectionstring = this.connstring;sqldataadapter adapter = newsqldataadapter(selectsql, conn);try conn.open; adapter.fill(ds); catch (sqlexception ex) this._message = ex.message; finally conn.close; return ds; /summary/ 选取单个值/su
7、mmary/param name=selectsql/param/returns/returnspublicobject selectvalue(string selectsql) sqlconnection conn = newsqlconnection; conn.connectionstring = this.connstring;sqlcommand command = newsqlcommand(selectsql, conn);try conn.open;return command.executescalar; catch (sqlexception ex) this._mess
8、age = ex.message;returnnull; finally conn.close; /summary/ 更新/summary/param name=sql/param/returns/returnspublicbool update(string sql) sqlconnection conn = newsqlconnection; conn.connectionstring = this.connstring;sqlcommand command = newsqlcommand(sql); command.connection = conn;try conn.open;int
9、result = command.executenonquery;if (result 0) returntrue; else returnfalse; catch (sqlexception ex) this._message = ex.message;returnfalse; finally conn.close; /summary/ 更新(参数方式)/summary/returns/returnspublicbool update(string sql, system.data.common.dbparameter paramlist) sqlconnection conn = news
10、qlconnection; conn.connectionstring = this.connstring;sqlcommand command = newsqlcommand(sql); command.parameters.addrange(paramlist); command.connection = conn;try conn.open;int result = command.executenonquery;if (result 0) returntrue; else returnfalse; catch (sqlexception ex) this._message = ex.m
11、essage;returnfalse; finally conn.close; #endregion #region 外部事务操作/summary/ 打开连接/summary/returns/returnspublicbool openconnection this.conn = newsqlconnection;this.conn.connectionstring = this.connstring;try conn.open;returntrue; catch (sqlexception ex) this._message = ex.message;returnfalse; /summar
12、y/ 关闭连接/summarypublicvoid closeconnection if (this.conn != null) this.conn.close;this.conn = null; /summary/ 开始事务/summarypublicvoid begintransaction if (this.trans = null) this.trans = this.conn.begintransaction; /summary/ 提交事务/summarypublicvoid committransaction if (this.trans != null) this.trans.c
13、ommit; /summary/ 回滚事务/summarypublicvoid rollbacktransaction if (this.trans != null) this.trans.rollback; /summary/ 事务中的更新/summary/param name=sql/param/returns/returnspublicbool updateta(string sql) sqlcommand command = newsqlcommand(sql); command.connection = this.conn; command.transaction = this.tr
14、ans;try int result = command.executenonquery;if (result 0) returntrue; else returnfalse; catch (sqlexception ex) this._message = ex.message;returnfalse; #endregion #region 分页privateint _perpagecount = 20;/summary/ 每页条数/summarypublicint perpagecount set this._perpagecount = value; privateint _recordc
15、ount = 0;/summary/ 总共条数/summarypublicint recordcount get returnthis._recordcount; privateint _pagecount = 0;/summary/ 总共页数/summarypublicint pagecount get returnthis._pagecount; /summary/ 分页方式获取数据/summary/param name=sqlsql语句/param/param name=begin开始记录索引/param/param name=length记录数/param/returns/return
16、sprivatedatatable selecttodatatablepager(string sql, int begin, int length) if (openconnection = false) returnnull;sqlcommand command = newsqlcommand; command.connection = this.conn;/记录总数 command.commandtext = select count(*) from ( + sql + ) as counttable;object count = command.executescalar;this._
17、recordcount = convert.toint32(count); command.commandtext = sql;sqldataadapter adapter = newsqldataadapter; adapter.selectcommand = command;datatable dt = newdatatable;try adapter.fill(begin, length, dt);return dt; catch (sqlexception ex) _message = ex.message;returnnull; finally closeconnection;thi
18、s._pagecount = this._perpagecount = 0 ? 1 : (int)math.ceiling(double)_recordcount / _perpagecount); /summary/ 根据当前页号取结果集/summary/param name=sql/param/param name=currentpage/param/returns/returnspublicdatatable selecttodatatablepager(string sql, int currentpage) /计算开始记录号int begin = (current 1) * _per
19、pagecount;/分页查询return selecttodatatablepager(sql, begin, _perpagecount); #endregion #region 批操作/summary/ 获取多个结果集/summary/param name=sqls/param/returns/returnspublicdataset select(system.collections.generic.dictionarystring, string sqls) dataset ds = newdataset;sqlconnection conn = newsqlconnection;
20、conn.connectionstring = this.connstring;sqldataadapter adapter = newsqldataadapter;try conn.open;foreach (string table in sqls.keys) sqlcommand command = newsqlcommand(sqlstable, conn); adapter.selectcommand = command; adapter.fill(ds, table); catch (sqlexception ex) this._message = ex.message; fina
21、lly conn.close; return ds; /summary/ 批量更新数据库/summary/param name=sqls更新语句/param/returns/returnspublicbool update(system.collections.generic.liststring sqls) /打开连接if (openconnection = false) returnfalse;/开启事务 begintransaction;try /更新操作foreach (string sql in sqls) if (updateta(sql) = false) rollbacktra
22、nsaction;returnfalse; /提交事务 committransaction;returntrue; catch (sqlexception ex) /处理异常this._message = ex.message; rollbacktransaction;returnfalse; finally /关闭连接 closeconnection; #endregion 保存用户名信息,userinfo.csusing system;using system.data;using system.configuration;using system.linq;using system.we
23、b;using system.web.security;using system.web.ui;using system.web.ui.htmlcontrols;using system.web.ui.webcontrols;using system.web.ui.webcontrols.webparts;using system.xml.linq;/summary/userinfo 的摘要说明/summarypublicclassuserinfopublic userinfo/todo: 在此处添加构造函数逻辑/publicstaticint companyid = 0;privatestring _uid;/summary/ 用户id/summarypublicstring uid get returnthis._uid; set this._uid = value; 接下来配置数据库连接字符串,打开web.config,找到然后配置,源代码:connectionstrings !- 数据库连接字符串 - addname=sqlserverconnectionstring=dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷库自动化温湿度调控系统研究考核试卷
- 印刷设备故障诊断与维修技术专利分析考核试卷
- 演讲中的情感高潮设计考核试卷
- 睡眠障碍干预措施考核试卷
- 创业空间知识产权保护策略分析考核试卷
- 2025年影视导演聘请与全渠道宣传营销代理合同
- 2025款别克GL8公务车融资租赁服务协议
- 2025年住建部批准的智慧城市公共安全防范工程施工合作协议
- 2025年新型仓储物流设施租赁与一体化管理合同
- 2025年智慧商业空间设计建造一体化服务合同
- 交通安全知识手册
- 酒店员工用电培训
- 肺移植围术期管理规范
- 中石油笔试试题及答案
- 2025年量检具测试试题及答案
- 开发采购述职报告
- 《COB制程技术研究》课件
- 上海市建设工程施工图设计文件勘察设计质量疑难问题汇编(2024 版)
- 胃癌肝转移诊断与综合治疗中国专家共识(2024版)解读
- 标准化电子病历系统建设与维护教程
- 灭火器的分类和使用方法
评论
0/150
提交评论